حركت 1
حركت پنجره

تغييرات:
به همين جلسه مطالبي (حركت و تغيير اندازه پنجره) اضافه شد. (شنبه 5 شهريور)

سلام

مفهوم حركت در رايانه و به خصوص وب، بحث جذاب و كاربردي است كه هم باعث زيبايي صفحات مي‌شود، هم توجه بيننده را به خود جلب مي‌كند و هم در بهتر ارايه كردن مطالب، دست ما را باز مي‌گذارد.

براي دو مورد اول، مثالهاي فراواني در پايگاه و وبلاگها وجود دارد. مثل اشكال و نوشته‌هايي كه به دنبال موس حركت مي‌كنند؛ يا ستاره‌هايي كه در صفحه، پخش مي‌شوند؛ يا نوشته‌هايي كه در نوار عنوان يا نوار وضعيت، در حال حركت هستند.

همانطور كه بهره‌برداري به جا از اين ابزار، باعث زيبايي و كارايي مي‌شود، استفاده بي‌مورد يا زيادي - كه متاسفانه در بعضي از وبلاگها مشاهده مي‌شود - باعث اذيت و خسته شدن بيننده خواهد شد؛ مخصوصا در دو نوار عنوان و وضعيت. به ياد داشته باشيد كه اين دو مكان، ساخته شده‌اند براي كار مهمتري؛ نه براي بازي و حركت بي‌مورد نوشته‌ها.

مفهوم حركت

حركت، نسبي است. كم و بيش با اين جمله آشنا هستيد. نظريه "نسبيت حركت"، مي‌گويد كه حركت شي، نسبت به اطراف او سنجيده مي‌شود. تصور كنيد در قطار هستيد. شما نسبت به اشيا بيرون از قطار، در حال حركت هستيد. از بعضي دور مي‌شويد و به بعضي نزديك؛ كه اين بستگي به "جهت حركت" شما دارد. اما نسبت به خود قطار، حركتي نداريد؛ مگر اينكه در همان قطار، شروع به راه رفتن كنيد.

كره زمين براي ما ثابت و بي‌حركت است؛ اما نسبت به كهكشان، جـِـرم كوچكي است در حال حركت. اشياء داخل صفحه وب نيز همين حالت را دارند؛ كه بزرگترين و مهمترين آن، خود پنجره (window) است.

انواع حركت

به يك صفحه، خوب نگاه كنيد. به نظر شما چه چيزهايي مي‌توانند حركت كنند؟ آيا همه حركتها، از يك نوع است؟ عامل اصلي حركت چيست؟

ظاهرا مي‌شود گفت هر چيزي كه در صفحه وجود دارد، قابل حركت است. ظاهرا حركتها از يك نوع نيستند؛ چون "نيروي محركه" آنها تفاوت دارد. چه چيز باعث حركت اشاره‌گر موس مي‌شود؟ خود پنجره قابل حركت است. مي‌توانيد با كليك بر روي نوار عنوان، آنرا گرفته و به هر نقطه كه تمايل داريد بكشيد. اگر تغيير اندازه را هم نوعي حركت بدانيم، با نوع متفاوتي از حركت روبرو خواهيم شد.

قالب حركت

در رايانه، قالبي وجود دارد كه موقعيت اشيا، نسبت به آن سنجيده مي‌شود. بالا و پايين، چپ و راست. اين چهار جهت اصلي، قالب ما هستند و موقعيت يك آيكون، نوشته، عكس يا پنجره، نسبت به آنها سنجيده مي‌شود. چرا مي‌گوييم اين پنجره از آن پنجره بالاتر است؟ چون نسبت به بالا، نزديكتر است.

اگر اين بخش را هم خوب درك كرده باشيد، متوجه مي‌شويد كه براي شروع كار، لازم است "موقعيت جغرافيايي" يا همان "طول و عرض جغرافيايي" را به دست بياوريم. خوشبختانه در زبان جاوا اسكريپت، دستورات لازم براي به دست آوردن آن، وجود دارد.

از چهار جهت اصلي، دو جهت، معيار هستند؛ بالا و چپ. البته ما فارسي‌ زبانها، چون از راست به چپ مي‌نويسيم و آرايش صفحات ما از راست به چپ است، بهتر است تا آنجا كه ممكن است، بالا و راست را معيار خود قرار دهيم.

طول جغرافيايي - فاصله از بالا - را با y (ايگرگ)،  و عرض جغرافيايي - فاصله از چپ - را با x (ايكس) نشان مي‌دهند.

جدولي را تهيه كرده‌ام كه راه به دست آوردن اين اندازه‌ها را به شما نشان مي‌دهد.

براي ديدن جدول، اينجا كليك كنيد.

حركت پنجره

براي حركت پنجره، دو دستور وجود دارد.

1- window.moveBy (x, y)

با اين دستور، مي‌توان پنجره را يكباره به منطقه‌اي كه با عدد مشخص (x, y) مي‌شود، منتقل كرد.

2- window.moveTo (x, y)

اين دستور مانند دستور قبل عمل مي‌كند؛ با اين تفاوت كه اگر آنرا در يك حلقه قرار دهيم، به آهستگي پنجره را حركت مي‌دهد.

كد: كافي است اين كد را داخل يك اسكريپت قرار داده و صفحه را باز كنيد.

for(a = 1; a <= 250; a++) {window.moveTo (250, a)};

تغيير اندازه پنجره

براي تغيير اندازه پنجره، دو دستور وجود دارد.

1- window.resizeTo (x, y)

با اين دستور مي‌توان اندازه پنجره را تغيير داد و اگر آنرا در يك حلقه قرار دهيم، به آهستگي اندازه پنجره را تغيير مي‌دهد.

كد:

for(a = 1; a <= 500; a++) {window.resizeTo (100, a)};
for(b = 1; b <= 500; b++) {window.resizeTo (b, 500)};

2- window.resizeBy (x, y)

اين دستور هم براي تغيير اندازه است؛ اما به دقت و قدرت دستور قبلي نيست.

به اميد ديدار
خدانگهدار