مشاوره رایگان
دریافت لینک های دانلود دریافت پستی درب منزل مبلغ کل: تومان
جهت دریافت کد تخفیف به کانال تلگرام مراجعه و یا با پشتیبان آنلاین هماهنگ نمایید

آموزش ساخت انیمیشن در جاوا اسکریپت JavaScript


ساخت انیمیشن در Java Script

ما می توانیم با استفاده از جاوا اسکریپت ، یک انیمیشن پیچیده ایجاد کنیم فرضا:

  • آتش بازی (firework)
  • محو شدن اثر (fade effect)
  • Roll-in یا Roll-out
  • Page-in یا Page-out
  • حرکت اشیاء

هم چنین ، ما ممکن است علاقه مند به کتابخانه متحرک مبتنی بر جاوا اسکریپت موجود باشیم : Script.Aculo.us .

این آموزش ، درک اولیه ای از نحوه استفاده از جاوا اسکریپت برای ایجاد یک انیمیشن فراهم می نماید.

جاوا اسکریپت می تواند برای حرکت تعدادی از عناصر DOM مانند (<img/> ، <div> یا هر عنصر HTML دیگری) در اطراف صفحه با توجه به نوع خاصی از الگویی که توسط یک معادله یا تابع منطقی تعیین می شود ، مورد استفاده قرار گیرد.

جاوا اسکریپت دو تابع زیر را مکرراً در برنامه های انیمیشن مورد استفاده قرار می دهد.

  • (setTimeout (function , duration : این تابع بعد از مدت زمان duration بر حسب میلی ثانیه از زمان کنونی ، function را فراخوانی می کند.
  • (setInterVal (function , duration : این تابع بعد از هر مدت زمان duration بر حسب میلی ثانیه ، function را فراخوانی می کند.
  • (clearTimeout (set Timeout_variable : این تابع ، هر تایمر تنظیم شده توسط توابع () setTimeout را پاک می کند.

جاوا اسکریپت ، هم چنین می تواند تعدادی از صفت های یک شیء DOM از جمله موقعیت آن بر روی صفحه را تنظیم نماید. ما می توانیم صفت top و left از یک شیء را به موقعیت آن را در هر نقطه روی صفحه نمایش تنظیم کنیم. قاعده نوشتاری (syntax) آن به صورت زیر می باشد:

// Set distance from left edge of the screen.
object.style.left = distance in pixels or points; 

or

// Set distance from top edge of the screen.
object.style.top = distance in pixels or points; 

انیمیشن دستی

با توجه به مطالب فوق ، اجازه دهید یک انیمیشن ساده با استفاده از خصیصه های شیء DOM و توابع جاوا اسکریپت به صورت زیر پیاده سازی کنیم. لیست زیر شامل متدهای مختلف شیء DOM است.

  • ما از تابع جاوا اسکریپت  () getElementById  برای به دست گرفتن یک شیء DOM استفاده می کنیم و سپس آن را به یک متغیر سراسری imgObj اختصاص می دهیم.
  • یک تابع مقداردهی اولیه () init  را برای مقداردهی متغیر imgObj تعریف کرده ایم که در آن صفت position و left متغیر را تنظیم نموده ایم.
  • در هنگام بارگذاری پنجره ، تابع مقداردهی اولیه را فراخوانی می کنیم.
  • در نهایت ، تابع () motionRight  را برای افزایش فاصله سمت چپ به 10 پیکسل فراخوانی می کنیم. هم چنین می توانیم آن را به مقدار منفی تنظیم نماییم تا شیء را به سمت چپ حرکت دهیم.

مثال

مثال زیر را امتحان نمایید.

<html>
   
   <head>
      <title>JavaScript Animation</title>
      
      <script type="text/javascript">
         <!--
            var imgObj = null;
            
            function init(){
               imgObj = document.getElementById('myImage');
               imgObj.style.position= 'relative'; 
               imgObj.style.left = '0px'; 
            }
            
            function moveRight(){
               imgObj.style.left = parseInt(imgObj.style.left) + 10 + 'px';
            }
            
            window.onload =init;
         //-->
      </script>
      
   </head>
   
   <body>
   
      <form>
         <img id="myImage" src="/images/html.gif" />
         <p>Click button below to move the image to right</p>
         <input type="button" value="Click Me" onclick="moveRight();" />
      </form>
      
   </body>
</html>

خروجی

به ازای هر بار کلیک کردن بر روی کلید Click Me ، تصویر فوق به اندازه 10 پیکسل به سمت راست حرکت می کند.

انیمیشن خودکار

در مثال فوق ، ما دیدیم که چگونه یک تصویر با هر بار کلیک ، به سمت راست حرکت می کند. ما می توانیم این فرآیند را با استفاده از تابع جاوا اسکریپت () setTimeout  به صورت زیر انجام دهیم:

در اینجا ، ما متدهای بیشتری اضافه کرده ایم. از این رو ، بیایید ببینیم چه چیزی جدید اضافه شده است :

  • تابع () motionRight   ، تابع () setTimeout را برای تنظیم موقعیت شیء imgObj فراخوانی می کند.
  • ما یک تابع جدید () stop را برای پاک کردن تایمر تنظیم شده توسط تابع () setTimeout  و قرار دادن شیء در موقعیت اولیه آن ، اضافه کرده ایم.

مثال

مثال زیر را امتحان نمایید.

<html>
   
   <head>
      <title>JavaScript Animation</title>
      
      <script type="text/javascript">
         <!--
            var imgObj = null;
            var animate ;
            
            function init(){
               imgObj = document.getElementById('myImage');
               imgObj.style.position= 'relative'; 
               imgObj.style.left = '0px'; 
            }
            
            function moveRight(){
               imgObj.style.left = parseInt(imgObj.style.left) + 10 + 'px';
               animate = setTimeout(moveRight,20); // call moveRight in 20msec
            }
            
            function stop(){
               clearTimeout(animate);
               imgObj.style.left = '0px'; 
            }
            
            window.onload =init;
         //-->
      </script>
      
   </head>
   
   <body>
   
      <form>
         <img id="myImage" src="/images/html.gif" />
         <p>Click the buttons below to handle animation</p>
         <input type="button" value="Start" onclick="moveRight();" />
         <input type="button" value="Stop" onclick="stop();" />
      </form>
      
   </body>
</html>

خروجی

Rollover با رویداد Mouse

در اینجا یک مثال ساده نشان داده شده است که نشانگر rollover تصویر با یک رویداد mouse می باشد.

بیایید ببینیم در مثال زیر از چه چیزی استفاده می کنیم :

  • در زمان بارگذاری این صفحه ، دستور ' if ' ، وجود شیء image را بررسی می کند. اگر شیء image در دسترس نباشد ، این بلوک اجرا نخواهد شد.
  • سازنده () Image ، یک شی image جدید به نام image1 را ایجاد کرده و پیش بارگذاری (preload) می کند.
  • خصیصه src ، نام فایل تصویر خارجی به نام images/html.gif/ را اختصاص می دهد.
  • به طور مشابه ، ما شیء image2 را ایجاد کرده و نام فایل images/http.gif/ را در این شیء اختصاص می دهیم.
  • # (علامت هشتگ) لینک را غیر فعال می کند ؛ به طوری که مرورگر سعی نمی کند که در زمان کلیک ، به یک URL برود. در اینجا ، این لینک یک تصویر است.
  • هندلر رویداد onMouseOver ، هنگامی که ماوس کاربر بر روی لینک حرکت می کند ، عمل می نماید ، و هندلر رویداد onMouseOut ، هنگامی رخ می دهد که ماوس کاربر از لینک (تصویر) دور شود.
  • هنگامی که ماوس روی تصویر حرکت می کند ، تصویر HTTP از تصویر اول به تصویر دوم تغییر می کند. هنگامی که ماوس از تصویر خارج می شود ، تصویر اصلی نمایش داده می شود.
  • هنگامی که ماوس از لینک خارج می شود ، تصویر اولیه html.gif بر روی صفحه ظاهر می شود.
<html>
   
   <head>
      <title>Rollover with a Mouse Events</title>
      
      <script type="text/javascript">
         <!--
            if(document.images){
               var image1 = new Image(); // Preload an image
               image1.src = "/images/html.gif";
               var image2 = new Image(); // Preload second image
               image2.src = "/images/http.gif";
            }
         //-->
      </script>
      
   </head>
   
   <body>
      <p>Move your mouse over the image to see the result</p>
      
      <a href="#" onMouseOver="document.myImage.src=image2.src;" onMouseOut="document.myImage.src=image1.src;">
      <img name="myImage" src="/images/html.gif" />
      </a>
   </body>
</html>

خروجی

با قرار دادن موس بر روی تصویر فوق ، خروجی زیر حاصل می شود:

فصلِ: 1 , تعداد قسمت ها: 4 , سطح: صفر تا صد

این فصل در یک نگاه:

در این مجموعه به آموزش کامل ckeditor از نصب آن تا شخصی سازی و افزودن امکانات اختصاصی به ان می پردازیم.…

با توجه به اینکه آموزش جامع و کاملی در مورد نحوه ایجاد و شخصی سازی یک ادیتور در وب سایت و صفحات وب، وجود نداشت برآن شدیم تا یک سری مجموعه آموزشی کامل و جامع در رابطه با این موضوع تهیه نماییم…
فصلِ: 1 , تعداد قسمت ها: 16 , سطح: صفر تا صد

این فصل در یک نگاه:

نود جی اس چیست؟-اموزش نصب نود جی اس-کار با فایل در نود جی اس-کار با پکیج http در نود جی اس-اموزش کار با npm manager -امو…

توضیحات کلی مجموعه: آموزش صفر تا صد برنامه نویسی nodejs(سورس کدها به همراه اموزش قسمت اخر می باشد) دراین دوره از ابتدا تا سطح حرفه ای نود جی اس رو به کاربران عزیز کلیک سایت اموزش میدیم تا …
فصلِ: 3 , تعداد قسمت ها: 76 , سطح: مقدماتی

این فصل در یک نگاه:

در این فصل پروژه ای را انجام خواهی داد که مباحث قبلی را تثبیت کنیمهم چنین مباحث جدید را یاد خواهیک گرفت از جمله:برنامه ر…

با سلام به حرفه ای ترین دوره ی js خوش آمدید این دوره با دو هدف طراحی و ضبط شده است 1-برای افرادی که قصد یادگیری حرفه ای js را دارند(به زودی قسمت های جدید برای این افراد اضافه خواهد شد) 2…
فصلِ: 2 , تعداد قسمت ها: 102 , سطح: صفر تا صد

این فصل در یک نگاه:

معرفی سنسور ها و قطعات خروجی…

توضیحات کلی مجموعه: ... با سلام خدمت شما کلیک سایتی های عزیز با جذاب ترین و کامل ترین دوره آموزش الکترونیک در خدمت شما هستیم. گاهی اوغات ایده ها یا اختراعی در حوزه الکترونیک به ذهن شما میرس…
فصلِ: 7 , تعداد قسمت ها: 401 , سطح: صفر تا صد

این فصل در یک نگاه:

در این فصل به بروزرسانی های جاوااسکریپت پرداخته می شود…

توجه: این دوره دائما توسط مهندس روشنایی (مدرس دوره) بروز گردیده و مطابق با آخرین استانداردهای برنامه نویسی آپدیت می شود. توجه فرمائید دریافت آپدیت ها برای خریداران قبلی رایگان می باشد و نیاز…
فصلِ: 3 , تعداد قسمت ها: 25 , سطح: صفر تا صد

این فصل در یک نگاه:

فصل سوم…

آموزش طراحی ریسپانسیو مدرن و جذابتر نسبت به بوتسرپ (همراه با ساخت صفحه اصلی و پنل یک آژانس مسافربری) آموزش پروژه محور فریمورک متریالایز برای اولین بار بین وب سایت های آموزشی آموزش تمامی …
فصلِ: 5 , تعداد قسمت ها: 77 , سطح: متوسط

این فصل در یک نگاه:

ساخت منوی مدیریت سایت،ایجاد بخش دسته بندی ها ، جدول نمایش دسته ها و ایجاد دسته جدید،ایجاد بخش ویژگی های یک دسته،ایجاد وی…

این مجموعه با تلفیقی از فریمورک bootstrap  و کد های html و css  ارائه گردیده و پیش نیاز این آموزش ، دوره دیجی کالای آقای مهندس بلاغی است چون این پروژه در قالب mvc پیاده گردیده و با توجه به ا…
فصلِ: 4 , تعداد قسمت ها: 78 , سطح: متوسط

این فصل در یک نگاه:

در این دوره آموزشی، وبسایت ورزش3 را با استفاده از ASP.NET Core پیاده سازی می کنیم و همچنین اپ اندروید آن را هم با Xamarin متصل به سرور سایت طراحی و در نهایت نحوه انتشار آن در مارکت هایی مثل …
فصلِ: 9 , تعداد قسمت ها: 215 , سطح: صفر تا صد

این فصل در یک نگاه:

در اصل فصل در مورد performance صحبت خواهیم کرد :-React Performance-Lazy-Error Boundaries و سایت را بر روی هاست واقعی قرا…

با سلام خدمت کلیک سایتی های عزیز، به دوره ی صفر تا صد طراحی سایت با react js خوش آمدید. نکته:این دوره کاملا پروژه محور میباشد نکته:این دوره هیچ پیش نیازی ندارد ReactJS  چیست؟ ReactJS اس…
فصلِ: 11 , تعداد قسمت ها: 162 , سطح: صفر تا صد

این فصل در یک نگاه:

در این فصل(فصل یازدهم مجموعه)،به طراحی CMS (سیستم مدیریت محتوا)اختصاصی فروشگاه می پردازیم.هدف از طراحی این بخش،آنست که م…

در این مجموعه آموزشی قصد داریم از صفر تا صد طراحی یک فروشگاه اینترنتی رو به صورت کامل آموزش بدهیم.این فروشگاه شامل تمامی بخش های مورد نیاز یک فروشگاه اینترنتی است. هدف از این مجموعه،آموزش…
فصلِ: 8 , تعداد قسمت ها: 77 , سطح: صفر تا صد

این فصل در یک نگاه:

  پیشنهاد میکنیم دمو دوره رو حتما مشاهده کنید با سلام خدمت دوستان عزیز . ابتدا عرض کنم که این دوره برای دوستانی آماده شده که میخوان وب اپلیکیشن های مدرنی رو طراحی بکنن و وارد بازار کار ط…
فصلِ: 5 , تعداد قسمت ها: 201 , سطح: صفر تا صد

این فصل در یک نگاه:

ایجاد پروژه آژانس مسافرتی.....…

فصل اول: آشنایی با مبانی برنامه نویسی اندروید   آشنایی با معماری برنامه های اندرویدی ساخت شبیه ساز جهت تست پروژه اندروید آشنایی با دستور Toast و حلقه for در برنامه های اندروی…
فصلِ: 1 , تعداد قسمت ها: 2 , سطح: متوسط

این فصل در یک نگاه:

بهترین و پر بازده ترین روش تبدیل بازدیدکننده سایت به مشتری تبلیغات هدفمند و برند سازی هوشمندانه با ایمیل می باشد. ایمیل…

  وبینار(سمینار آنلاین) آموزش تکنیک های ایمیل مارکتینگ   اگر تا انتها این متن را مطالعه کنید نظر شما در مورد ایمیل مارکتینگ 180 درجه عوض می شود!! بر هیچکس پوشیده نیست که از سال 1972 که ای…
فصلِ: 4 , تعداد قسمت ها: 368 , سطح: صفر تا صد

این فصل در یک نگاه:

مباحث تکمیلی فریم ورک لاراول…

فصل اول :آموزش مقدماتی فریم ورک لاراول معرفی فریم ورک لاراول و پیشنیازهای انجام کار انجام کانفیگ های اولیه برای نصب و راه اندازی فریم ورک معرفی روش های نصب پروژه لاراولی از طریق سایت گی…
فصلِ: 1 , تعداد قسمت ها: 155 , سطح: صفر تا صد

این فصل در یک نگاه:

مباحث مقدماتی فریم ورک react.js…

توضیحات کلی مجموعه: فصل اول : آشنایی با مباحث مقدماتی فریم ورک react.js نصب و راه اندازی node.js  و کلیه پیش نیازهای لازم نصب فریم ورک react روی لوکال و انجام تست های لازم آغاز آشنایی …
فصلِ: 1 , تعداد قسمت ها: 15 , سطح: متوسط

این فصل در یک نگاه:

رشد و درآمدزایی یک وب سایت یا کسب و کار اینترنتی کاملا به ذوق و مهارت وب مستر یا همان مدیر اصلی وب سایت گره خورده و متاس…

 اصول مدیریت وب سایت برای وب مستر شدن برای موفقیت یک وب سایت لازم الاجراست. زیرا شما دوست دارید وب سایت خود را به کارخانه پولسازی تبدیل کنید. این واقعیت رویا نیست. هرکس این اصول را بداند به …

تولید شده توسط کلیک سایت

پشتیبانی آنلاین
آماده پاسخگویی هستیم
انتخاب تصویر جهت ارسال:
در حال ضبط صدا

(جهت توقف و یا لغو ضبط از دکمه های زیر استفاده کنید)

توقف و ارسال :
لغو ضبط
در حال حاضر تمامی کارشناسان آفلاین هستند. همواره می توانید با شماره تلگرام / واتساپ 09010005000 به صورت آنلاین با ما در ارتباط باشید. جهت ورود به واتساپ کلیک کنید
0 پیام جدید
پشتیبان در حال تایپ ...
ارسال تصویر ضبط صدا
0 کارشناسان آنلاین می باشند
این گفت و گو توسط پشتیبان به اتمام رسید