صفحه 2 از 2 نخستنخست 12
نمایش نتایج: از شماره 11 تا 15 , از مجموع 15

موضوع: <آمــــــوزش جـــــــاو� � <>اســــــــکریپت >

  1. Top | #11

    عنوان کاربر
    كاربر ويژه
    تاریخ عضویت
    September 2009
    شماره عضویت
    14008
    نوشته
    5,324
    تشکر
    787
    مورد تشکر
    740 در 206
    دریافت
    0
    آپلود
    0

    پیش فرض پاسخ : <آمــــــوزش جـــــــاو� � <>اســــــــکریپت >

    آرايه ها Array آرایه چیست؟
    خصوصیت آرایه
    متدهای آرایه
    -------------------
    آرايه چيست؟

    آرايه يکي ديگر از دستورات جاوااسکريپت مي باشد که همانند بقيه دستورها يک وظيفه اي دارد و بهترين خاصيت اين دستور، کوتاه کردن اسکريپت ما است. شئ آرايه يا همان Array براي ذخيره کردن مقادير متفاوت در يک متغير بکار مي رود. همانطور که مي دانيد تا قبل از شناخت اين دستور براي هر متغير يک مقدار مشخص در نظر گرفته مي شد، اما توسط يک آرايه شما مي توانيد چندين مقدار را به يک متغير نسبت دهيد. بطور مثال مي توانيد اسامي روزهاي هفته را در يک متغير ذخيره کنيد. دستور آرايه داراي قسمتهايي است که با توجه به مثال زير به توضيح آنها مي پردازيم:

    var weekdays = new Array(7)
    weekdays[0] = "Shanbeh"
    weekdays[1] = "Yekshanbeh"
    weekdays[2] = "Doshanbeh"
    weekdays[3] = "Seshanbeh"
    weekdays[4] = "Chaharshanbeh"
    weekdays[5] = "Panjshanbeh"
    weekdays[6] = "Jomeh"

    اول از همه يک متغير بنام weekdays تعريف کرديم و آنرا برابر با آرايه جديد قرار داديم، دستور آرايه را بايد با new Array شروع کنيد که به طرز نوشتن حروف بايد توجه کنيد، سپس پرانتزي باز کرده و تعداد مقادير را در آن مي نويسيم. به اين عدد داخل پرانتز index يا انديس مي گويند. انديس ها از صفر شروع مي شوند.

    در خطوط بعد، نوبت به مقداردهي هر انديس مي رسد که متغير را مي نويسيم و هر انديس را بايد در کروشه [ ] بگذاريم و سپس آنها را برابر با يک مقدار قرار دهيم که اين مقادير هر چيزي مي توانند باشند مانند رشته هاي متني و يا اعداد.

    مثال بالا را مي توان بصورت زير هم نوشت:

    var weekdays = new Array ("Shanbeh","Yekshanbeh",...)

    يعني بجاي نوشتن انديس کلي در پرانتز، مقادير هر انديس را بنويسيم و توسط کاما آنها را از هم جدا کنيم.

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

    for ( i=0; i<7; i++ ) {
    document.write ( weekdays[ i ] + "<br />" )
    }
    خصوصيت آرايه

    آرايه هم داراي خصوصيت و متدهايي است که شما در صورت لزوم مي توانيد آنها را بکار بريد. براي تعريف کردن يک خصوصيت براي آرايه کافيست که بعد از متغير تعريف شده در آرايه، يک نقطه بگذاريد و سپس آن خصوصيت را بنويسيد.

    خصوصيتي که بيشترين کاربرد را براي آرايه دارد، length مي باشد. وظيفه اين خصوصيت نمايش انديس کلي يک آرايه است. اگر بخواهيم در مثال بالا اين خصوصيت را بکار بريم، بايد خط زير را بعد يا قبل از حلقه for بکار بريم:

    document.write ( weekdays.length + "<br />" )

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

    آرايه داراي متدهايي هم هست که نحوه تعريف کردن آنها همانند خصوصيت است و تنها فرقي که دارد بعد از نوشتن متد بايد پرانتز هم بگذاريد. متدهاي آرايه عبارتند از:

    concat(), join(), pop(), shift(), push(), unshift(), reverse(), slice(), sort(), splice(), toString(),

    متد concat براي ترکيب مقادير دو يا سه آرايه بکار مي رود. اين متد هيچ چيزي را در آرايه ها تغيير نمي دهد و فقط مقادير تعريف شده را در صفحه چاپ مي کند. مثال

    متد join تقريباً مانند متد قبلي عمل مي کند و کليه مقادير را بصورت يک رشته متني در صفحه نشان مي دهد با اين تفاوت که در اين متد مي توانيد يک علامت مانند نقطه، تعيين کنيد تا بين مقادير چاپ شده در صفحه قرار گيرد. بصورت پيش فرض اين علامت، کاما مي باشد. مثال

    متد pop آخرين مقدار آرايه را جدا کرده و در صفحه نمايش مي دهد. دقت کنيد که اين متد در خصوصيت length تأثير مي گذارد يعني اگر بعد از اين متد خصوصيت length را بکار بريد، يک انديس کمتر نشان مي دهد. مثال

    متد shift برعکس متد قبلي است يعني اين متد اولين مقدار آرايه را جدا مي کند و نشان مي دهد. مثال

    متد push يک يا چند مقدار را به آخر يک آرايه اضافه مي کند و انديس جديد برمي گرداند. مثال

    متد unshift يک يا چند مقدار به ابتداي يک آرايه اضافه مي کند و انديس جديد بر مي گرداند. دقت کنيد که اين متد در مرورگر اينترنت اکسپلورر بدرستي کار نمي کند. مثال

    متد reverse ترتيب نمايش مقادير يک آرايه را برعکس کرده و در صفحه وب نمايش مي دهد. مثال

    متد slice يکسري از مقادير موجود در يک آرايه را جدا مي کند که در اين متد شماره انديس مقداري که مي خواهيد از آنجا جداسازي شروع شود را بايد بنويسيد و همچنين مي توانيد آخرين مقدار هم مشخص کنيد که اگر آنرا معين نکنيد تا آخرين مقدار انتخاب خواهد شد. مثال

    متد sort براي منظم کردن مقادير يک آرايه به ترتيب حروف الفباي انگليسي است. اگر هم مقادير يک آرايه، عدد باشند به ترتيب اعداد تنظيم خواهند شد که مفسر جاوااسکريپت به اولين عدد از سمت چپ نگاه مي کند و بعد از رديف کردن آنها سپس به اعداد بعدي نگاه مي کند. مثال

    متد splice براي اضافه يا حذف يک مقدار در آرايه مي باشد که اين متد داراي پارامترهايي مي باشد که اين پارامترها را بايد در پرانتز مشخص کنيد. اولين پارامتر شماره انديس که در آنجا يک مقدار حذف يا اضافه خواهد شد و بايد عدد باشد. دومين پارامتر مقدار عددي است که معين مي کند چند تا مقدار از آن انديسي که در پارامتر قبل انتخاب کرديم، بايد حذف شود که اگر آنرا صفر در نظر بگيريد هيچ مقداري حذف نخواهد شد. اين دو پارامتر حتماً بايد نوشته شوند. در ضمن اگر مي خواهيد مقاديري هم اضافه شود بعد از اين پارامتر ها به عنوان پارامترهاي بعدي ذکر مي کنيد. مثال

    متد toString مقادير يک آرايه را تبديل به يک رشته متني مي کند. مثال



    اينها متدهايي هستند که کاربردشان در آرايه ها متداول است. شايد بنظرتان غير مفيد بيايند اما در بعضي جاها مي توانند به کمک شما بيايند و اسکريپت شما را خلاصه تر کنند.


    امضاء




  2. آیه های انتظار

    آیه های انتظار


    لیست موضوعات تصادفی این انجمن

     

  3. Top | #12

    عنوان کاربر
    كاربر ويژه
    تاریخ عضویت
    September 2009
    شماره عضویت
    14008
    نوشته
    5,324
    تشکر
    787
    مورد تشکر
    740 در 206
    دریافت
    0
    آپلود
    0

    پیش فرض پاسخ : <آمــــــوزش جـــــــاو� � <>اســــــــکریپت >

    تکرار دستورات توسط حلقه ها javascript loops for loop
    while loop
    do...while
    break
    ---------------
    هر گاه بخواهيد يک مجموعه کد به دفعات مشخص و يا رسيدن به يک نتيجه مشخص تکرار شود، بايد از حلقه استفاده کنيد. حلقه ها در جاوااسکريپت دو نوع هستند، يکي حلقه for و ديگري حلقه while که هر کدام از آنها هم ممکن است بسته به موقعيت کد مدلهاي مختلفي داشته باشند که در ادامه با کار آنها آشنا خواهيد شد.


    حلقه for

    در اين حلقه، مجموعه کد مورد نظر به تعداد مشخص تکرار مي شود که در ابتداي حلقه تعداد دفعات اجراي کد بايد اعلام شود. پس هرگاه مي دانستيد که چند بار قرار است کد اجرا شود از اين حلقه استفاده کنيد. بطور مثال مي خواهيم اعداد از 0 تا 10 در صفحه چاپ شوند:

    <script language="javascript" type="text/javascript">

    for ( i = 0; i <= 10; i++ )
    {
    document.write ( " Number " + i + "<br />")
    }
    </script>
    خب براي اجراي اين مثال ابتدا کلمه for را نوشتيم تا شروع حلقه را به مفسر اعلام کنيم سپس يک پرانتز بايد باز کنيم تا پارامترهاي لازم براي تکرار در اين حلقه را وارد کنيم. اولين پارامتري که بايد وارد شود، يک متغير است با مقداردهي اوليه که به آن initial expression يا همان عبارت آغازين مي گويند. سپس دومين پارامتر که يک شرط است و مفهوم آن اينست که حلقه بايد ادامه پيدا کند تا متغير کوچکتر يا برابر با عدد 10 بشود. سومين پارامتر به عبارت افزاينده يا increment expression معروف است که در اينجا به اين مفهوم مي باشد که در هر بار اجراي حلقه يک واحد بايد به متغير افزوده شود. در انتهاي اعلام پارامترها پرانتز را مي بنديم. فقط دقت کنيد که در اين پرانتز هر پارامتري که نوشته شود بلافاصله بعد از آن بايد علامت ; قرار گيرد تا تداخلي بين آنها بوجود نيايد.

    بطور ساده پارامترهاي داخل پرانتز را مي توانيم اينچنين بيان کنيم: مقدار اوليه متغير سپس مقدار نهايي و در آخر هم ترتيب افزايش متغير در هر تکرار حلقه. ناگفته نماند که حتماً نبايد مقدار افزايشي باشد، مي تواند به ترتيب کم شود که همه مقادير برعکس خواهند شد.

    در خط بعد هم نتيجه را مابين آکلاد مي گذاريم تا به اسکريپت نظم دهيم و سپس دستور تايپ نتيجه که کلمه number را چون مي خواهيم عيناً در صفحه چاپ شود داخل " " گذاشتيم و بعد + که با پارامترهاي ديگه ترکيب بشود. البته در اينجا بجاي علامت بعلاوه مي توانيد کاما هم بگذاريد و بعد از آن متغير تعريف شده و در انتهاي آنها از تگ br استفاده کرديم تا هربار که حلقه تکرار مي شود نتيجه در يک خط جديد چاپ شود.


    حلقه while

    نوع ديگر حلقه ها، حلقه while مي باشد که بر خلاف حلقه for لزومي ندارد که متغيرها را در داخل پرانتز به عنوان پارامتر حلقه اعلام کنيم و همچنين در مواردي هم که مقدار انتهايي حلقه مشخص نيست مي توانيم از اين نوع استفاده کنيم چون کد مورد نظر تا جايي که نتيجه دلخواه بدست بيايد تکرار خواهد شد. البته اين نوع حلقه را مي توانيم بجاي حلقه for هم بکار بريم يعني اگر مقدار نهايي متغير هم داشته باشيم اين حلقه کاربرد خواهد داشت. مثال بالا را در مورد اين حلقه مي توانيم به اين صورت ذکر کنيم:

    var i = 0
    while (i <= 10)
    {
    document.write(" Number " + i + "<br />")
    i++
    }

    اجراي کد

    کلمه while را مي توانيم ترجمه کنيم به ماداميکه ، پس در اينجا ما متغير را جداگانه تعريف کرديم و حالا مي گوييم، ماداميکه شرط کوچکتر يا مساوي 10 بودن برقرار نيست حلقه را تکرار کن و يک واحد به آن اضافه کن تا بالاخره شرط ما درست دربيايد.


    حلقه Do...while

    يک نوع حلقه ديگر در جاوااسکريپت وجود دارد که در حقيقت برعکس حلقه while مي باشد. در اين حلقه، شرط در آخر بدنه حلقه بررسي مي شود يعني يکسري دستور اجرا مي شود سپس شرط بررسي مي گردد که آيا به نتيجه مورد نظر رسيده است يا نه که اگر نتيجه درست نبود دوباره باز تکرار خواهد شد. فرق اين حلقه با حلقه while در اينست که حداقل يکبار دستورات اجرا خواهند شد ولي در حلقه while ممکن بود در صورت برقرار بودن شرط در همان ابتدا ديگر دستورات اجرا نشوند. حالا به مثال زير توجه کنيد تا کاملاً موضوع را درک کنيد:

    var i=0
    do
    {
    document.write(" Number " + i + "<br />")
    i=i+1
    }
    while (i <= 10)

    اجراي کد

    در اينجا همه چي مانند مثالهاي بالا است با اين تفاوت که کلمه do به ابتداي حلقه اضافه شده و بررسي شرط هم به انتهاي حلقه منتقل شده. همانطور که ميدانيد يکي از معني هاي do انجام دادن کاري است. مفهوم اين کد هم بدين گونه است که دستور چاپ را انجام بده و يک واحد به متغير اضافه کن ماداميکه متغير کوچکتر يا مساوي با عدد 10 بشود. پس اين دستورات حداقل يکبار اجرا مي شوند تا به شرط برسند، شما مي توانيد براي رسيدن به صحت اين گفته مقدار متغير را بجاي صفر به يک عدد ديگر تغيير دهيد مثلاً عدد 20 را بدهيد و يکبار کد را اجرا کنيد.

    در اين مثال نوع ديگر افزايش هم نشان داده شده است که شما مي توانيد از اين مدل هم استفاده کنيد.


    break

    مثالهايي که در بالا ذکر شد همگي ساده بودند اما هنگاميکه شما نياز به نوشتن حلقه هاي پيچيده تري داريد، بايد دقت کنيد که حلقه شما دچار حلقه بي نهايت يا همان حلقه نامتناهي نشود. بطور مثال يک مقدار اوليه براي متغير در نظر مي گيريد و يک شرطي هم تعيين مي کنيد اما هيچگاه شرط حلقه درست نخواهد شد که حلقه از تکرار باز ايستد و همينطور اجراي کد ادامه پيدا مي کند تا خود کاربر آن را با بستن مرورگر متوقف کند و گاهي حتي مجبور به راه اندازي مجدد کامپيوتر خواهد شد.

    براي جلوگيري از همچين اتفاقي مي توانيد از دستور break استفاده کنيد و يک شرطي هم براي آن در نظر بگيريد تا از حلقه هاي بي نهايت جلوگيري شود.

    var i = 11
    while (i >= 10)
    {
    document.write(" Number " + i + "<br />")
    i++
    if ( i == 21 ) break
    }

    اجرای کد

    در اين حلقه هيچگاه شرط درست نخواهد بود و تا بي نهايت ادامه پيدا مي کند اما با استفاده از دستور break و شرطي که در نظر گرفتيم از تکرار نا محدود اين حلقه جلوگيري کرديم در حقيقت از حلقه خارج شديم. پس استفاده از اين دستور را براي حلقه هاي پيچيده در نظر داشته باشيد تا با مشکلات جدي مواجه نشويد


    امضاء



  4. Top | #13

    عنوان کاربر
    كاربر ويژه
    تاریخ عضویت
    September 2009
    شماره عضویت
    14008
    نوشته
    5,324
    تشکر
    787
    مورد تشکر
    740 در 206
    دریافت
    0
    آپلود
    0

    پیش فرض پاسخ : <آمــــــوزش جـــــــاو� � <>اســــــــکریپت >

    توابع Functions تابع چیست؟
    فراخوانی یک تابع
    آرگومان یا argument
    دستور return
    ---------------
    تابع چیست؟

    هنگاميکه شما شروع به نوشتن کد مي کنيد، بايد سعي کنيد که اسکريپت شما حتي الامکان خلاصه و منظم و خوانا باشد تا در مراجعت بعدي براي عيب يابي و يا تغييرات، مشکلي نداشته باشيد. هميشه کدهاي شما کوتاه نيست و گاهي اسکريپت شما ممکن است تا پنجاه خط برسد که در اين موقع نياز به يک سازمان دهي داريد.

    توابع يا همان functions در جاوااسکريپت مي توانند کمک بزرگي به اين سازمان دهي کنند. شما مي توانيد يک مجموعه کد را که بايد در جاهاي مختلف تکرار شود را به صورت يک تابع تعريف کنيد و در هر جاي اسکريپت به آن نياز داشتيد آنرا فراخواني کنيد و از نوشتن مجدد بپرهيزيد. پس يک تابع، مجموعه کدي است که مي توان آنرا در جاهاي مختلف اسکريپت استفاده کرد بدون آنکه نياز به نوشتن مجدد آن کدها باشد. يک تابع مي تواند هر دستوري از جاوااسکريپت و يا حتي يک خط کد ساده باشد:

    function message ( )
    {
    alert ( " Hello friends! " )
    }

    همانطور که مشاهده مي کنيد براي تعريف يک تابع از کلمه function استفاده مي شود و دقت کنيد که حروف آن بايد حتماً کوچک باشد. بعد از نوشتن دستور function نوبت به تعيين يک اسم واحد براي اين تابع است که بهتر است اين اسم متناسب با وظيفه اي که اين مجموعه قرار است انجام دهد باشد چون بخاطر آوردن آن هم راحتتر خواهد بود. سپس پرانتز مي گذاريم تا در صورت لزوم پارامترهايي را در آن مشخص کنيم که به اين پارامترها آرگومان و يا argument مي گويند. طبق معمول هم با گذاشتن علامت آکلاد مشخص مي کنيم که اين مجموعه در کجا شروع و در کجا ختم مي شود که در بين اين علامت هم کدهاي جاوااسکريپت را وارد مي کنيم. در اينجا يک دستوري نوشته شده که هنگام فراخواني اين تابع و اجراي کد، يک پنجره باز مي کند و عبارت متني داخل پرانتز را نمايش مي دهد که در بخشهاي بعدي در مورد اينگونه پيغامها و پنجره ها بيشتر توضيح خواهم داد.

    شما يک تابع را در هر کجاي يک سند html مي توانيد بکار بريد. اگر دستوراتي است که هنگام باز شدن صفحه وب بايد اجرا شوند و يا آماده اجرا باشند پس بهتر است در قسمت head نوشته شوند. حتي مي توانيد يک تابع را در فايل خارجي جاوااسکريپت که با پسوند js ذخيره مي شود وارد کنيد تا در صفحات مختلف آنرا بکار بريد.


    فراخواني يک تابع

    توابعي که در يک سند اچ تي ام ال تعريف مي شوند به خودي خود اجرا نخواهند شد. اگر شما يک تابع تعريف کنيد پس از باز کردن صفحه وب خواهيد ديد که هيچ اتفاقي نمي افتد.

    توابع پس از تعريف بايد در جاي مورد نظر فراخواني شوند يعني آنها را صدا کنيم تا به کمک ما بيايند. در حقيقت آنها آماده هستند تا پس از فراخواني اجرا شوند. همانطور که با صدا کردن اسمتان شما پاسخ مي دهيد، يک تابع هم بايد اسمش را بکار بريد تا اجرا شود. پس هر کجا که نياز به دستورات آن تابع داشتيد، نامش را بنويسيد:

    <html>
    <head>
    <title> Call function </title>

    <script type="text/javascript" type="text/javascript">
    function message ( )
    {
    alert ( " Hello friends! " )
    }
    </script>

    </head>
    <body>

    <form>
    <input type="button" onclick="message( )" value="Click me">
    </form>

    </body>
    </html>

    اجراي کد

    نگران دستور alert و onclick نباشيد چون در بخشهاي بعدي با آنها آشنا خواهيد شد. فقط به فراخواني تابع دقت کنيد که چگونه بکار برده مي شود.


    آرگومان يک تابع

    گاهي اوقات هنگام تعريف يک تابع، آرگومان و يا پارامتري را براي آن داخل پرانتز تعيين مي کنيد تا هنگام صدا زدن تابع، آن آرگومان مقداردهي شود. در کل مي توان گفت که يک آرگومان، متغيري است که هنگام صدا زدن تابع مقدار آن ارسال مي شود تا تابع از آن استفاده کند. مي توانيم مثال بالا را با يک آرگومان تعريف کنيم:

    function message ( msg )
    {
    alert ( msg )
    }
    </script>

    <input type="button" onclick="message( 'Hello friends!' )" value="Click me">

    در اينجا يک آرگومان بنام msg تعيين کرديم تا هنگام فراخواني تابع، مقدارش به تابع فرستاده شود و نتيجه آن اجرا شود. در حقيقت عبارت Hello friends مقدار اين آرگومان مي باشد. تعيين آرگومان هيچ محدوديتي ندارد و فقط بايد آنها را با علامت کاما از هم جدا کنيد.

    دقت کنيد که در دستورات جاوااسکريپت، بين دو علامت " " بايد از ' ' استفاده شود چون اگر مجدداً از خود علامت نقل قول يعني " " استفاده کنيد با پيغام خطا مواجه مي شويد.


    بازگرداندن یک مقدار توسط دستور return

    توابع جاوااسکريپت داراي يک دستوري بنام return هستند که وظيفه اين دستور برگرداندن مقادير تعريف شده در آن تابع است.

    function greeting ( ) {
    return ( " Hello world! " )
    }
    .......

    document.write ( greeting( ) )

    اين مجموعه کد را اگر بدون استفاده از return اجرا کنيد، نتيجه درست نخواهيد گرفت. به يک مثال ديگر توجه کنيد:

    <html>
    <head>
    <title> return statement </title>

    <script type="text/javascript" type="text/javascript">
    function total (a,b )
    {
    x = a * b
    return x
    }
    </script>

    </head>
    <body>
    <script type="text/javascript" type="text/javascript">
    price = total ( 4, 15 )
    document.write ( price )
    </script>
    </body>
    </html>

    اجراي کد

    همانطور که مشاهده مي کنيد دو آرگومان براي تابع total تعريف شده است که در متغير x ذخيره مي شوند و توسط دستور return مقدارشان به تابع ارسال خواهد شد.

    در نظر داشته باشيد که توابع در جاوااسکريپت بسيار کاربرد دارند و شما هنگام نوشتن اسکريپت خود پي به اهميت آنها خواهيد برد مخصوصاً زماني که يک سري کد را بخواهيد در کليه صفحات يک وب سايت بکار بريد که مي توانيد آنها را بصورت يک تابع در يک فايل خارجي جاوااسکريپت ذخيره کنيد و سپس در هر صفحه آن تابع را فراخواني کنيد.


    امضاء



  5. Top | #14

    عنوان کاربر
    كاربر ويژه
    تاریخ عضویت
    September 2009
    شماره عضویت
    14008
    نوشته
    5,324
    تشکر
    787
    مورد تشکر
    740 در 206
    دریافت
    0
    آپلود
    0

    پیش فرض پاسخ : <آمــــــوزش جـــــــاو� � <>اســــــــکریپت >

    پنجره های ارتباط با کاربر popup boxes alert
    confirm
    prompt
    ----------------

    سه نوع پنجره در جاوااسکريپت وجود دارند که مي توانيد توسط آنها پيغامي را در صفحه براي کاربر نمايش دهيد و يا اطلاعاتي براي تأييد آنها بفرستيد و يا اينکه اطلاعاتي را از آنها بخواهيد. آنها پنجره هاي کوچکي هستند که چون خيلي سريع در صفحه بالا آمده و در مقابل کاربر ظاهر مي شوند، به آنها popup گفته مي شود.

    اين پنجره ها عبارتند از: پنجره alert ، پنجره confirm و پنجره prompt .


    پنجره Alert

    پنجره alert ، حاوي يک اخطاريه براي کاربر است که در آن هشداري داده مي شود تا کاربر متوجه کاري که مي کند باشد. دستور اين پنجره به صورت زير است:

    alert (" text ")

    اين پنجره فقط داراي يک دکمه OK است که کاربر بعد از خواندن آن اخطاريه با زدن دکمه ok ، پنجره را مي بندد.

    <html>
    <head>
    <script type="text/javascript" type="text/javascript">
    function alertbox ( ) {
    alert ( " This is an Alert box! " )
    }
    </script>
    </head>

    <body>
    <form>
    <input type="button" onclick="alertbox ( )" value="Click here">
    </form>
    </body>

    </html>


    پنجره Confirm

    اين مدل پنجره ، همانطور که از اسمش پيداست براي گرفتن تأييد از کاربر اجرا مي شود. اين پنجره داراي دو دکمه OK و Cancel مي باشد که با زدن دکمه OK توسط کاربر مقدار true بازگردانده مي شود و با زدن Cancel مقدار false برگردانده مي شود. دستور اين پنجره به اين صورت است:

    confirm ( " text " )

    اين پنجره براي مواقعي خوب است که شما نياز به جواب کاربر براي ادامه مطلبي يا چيزي داريد، در صورتيکه کاربر تأييد کند آن مطلب ادامه پيدا مي کند و در غير اينصورت همانجا متوقف خواهد شد.

    <html>
    <head>
    <script type="text/javascript" type="javascript">
    function confirmbox ( )
    {
    var button = confirm (" press a button.")
    if (button == true)
    {
    document.write (" You pressed OK button. ")
    }
    else
    {
    document.write (" You pressed Cancel button.")
    }
    }
    </script>
    </head>

    <body onload="confirmbox()">

    </body>

    </html>


    در اين اسکريپت ما ابتدا يک تابع در قسمت head تعريف کرديم سپس دستور confirm را در يک متغير بنام button ذخيره کرديم تا بتوانيم براي اين متغير شرطي را تعيين کنيم. همانطور که گفتيم اگر کاربر دکمه OK را بزند، مقدار true برگردانده مي شود پس شرط را بر اين روال گرفتيم که اگر مقدار true بازگردانده شد متني در صفحه چاپ شود و در غير اينصورت متني ديگر نوشته شود. سپس اين تابع را در تگ بدنه و در رويداد onload قرار داديم تا به محض باز شدن صفحه پنجره confirm اجرا شود. رويداد onload را در بخش بعدي ياد خواهيد گرفت.


    پنجره prompt

    از اين پنجره زماني استفاده مي شود که شما نياز داشته باشيد تا اطلاعاتي را از کاربر دريافت کنيد و آنرا در جايي مناسب بازگردانيد. معمولاً اجراي اين پنجره هنگام باز شدن صفحه وب است و داراي دو قسمت يا دو پارامتر مي باشد:

    prompt ( "text or question", " default value " )

    در قسمت اول يک متن که معمولاً سؤال است را وارد مي کنيد تا در پنجره ظاهر شود و در قسمت دوم يک مقدار پيش فرض براي راهنمايي کاربر وارد مي کنيد که معمولاً آن قسمت را خالي مي گذارند تا کاربر آن مقدار را وارد نمايد. البته اگر هم شما مقدار پيش فرض را وارد نماييد، باز کاربر قادر به وارد کردن مقدار ميباشد.

    <html>
    <head>
    <script type="text/javascript">
    function promptbox ( )
    {
    var name=prompt("Please enter your name", "name...")
    if (name!=null && name!="")
    {
    document.write("Hello " + name + " and welcome to this page.")
    }
    }
    </script>
    </head>

    <body onload="promptbox()">

    </body>
    </html>


    مانند مثال قبل عمل کرديم با اين تفاوت که اين بار از دستور prompt استفاده شده است. فقط به يک نکته دقت کنيد که در دستور شرط ما متغير name را نا مساوي با مقدار null قرار داديم. null به معني هيچ چيز ميباشد و در اينجا آنرا بکار گرفتيم تا اگر کاربر بعد از باز شدن پنجره دکمه cancel را زد و يا هيچ اسمي وارد نکرد تغييري در صفحه ايجاد نشود. شما مي توانيد يکبار آنرا حذف کنيد و نتيجه اجراي کد را ببينيد.

    در حال حاضر شما سه نوع پنجره ارتباط با کاربر را فرا گرفتيد که دو مدل اول بيشترين کاربرد را در کدنويسي شما خواهند داشت.


    امضاء



  6. Top | #15

    عنوان کاربر
    كاربر ويژه
    تاریخ عضویت
    September 2009
    شماره عضویت
    14008
    نوشته
    5,324
    تشکر
    787
    مورد تشکر
    740 در 206
    دریافت
    0
    آپلود
    0

    پیش فرض پاسخ : <آمــــــوزش جـــــــاو� � <>اســــــــکریپت >

    رويدادها و حوادث Javascript Events رویدادهای موس
    رویدادهای کیبورد
    رویدادهای فرم
    رویدادهای صفحه وب و مرورگر
    -----------------------------------
    رويدادها و يا حوادث در جاوااسکريپت، کدهاي کوتاهي هستند که بين اقدامات انجام شده توسط کاربر مانند کليک کردن موس و اسکريپت، ارتباط برقرار مي کنند. يعني هنگاميکه کاربر بر روي دکمه هاي موس فشار مي آورد، رويدادها به اسکريپت اين موضوع را مي فهمانند تا اسکريپت براي آن حرکت عکس العملي در نظر بگيرد.

    اين اقدامات شامل حرکاتي است مانند کليک کردن دکمه هاي موس، قرار گرفتن نشانگر موس بر روي يک نقطه از صفحه، فشردن کليدهاي کيبورد، انتخاب يا تغيير در اجزاي يک فرم، فشردن دکمه هاي فرم و يا باز و بستن يک صفحه وب.

    در کل رويدادها باعث مي شوند تا جاوااسکريپت اينگونه حرکات را شناسايي و درک کند.

    رويدادها مانند بقيه خصوصيات تگهاي اچ تي ام ال هستند که بايد در ميان تگها قرار گيرند و آنها را برابر با يک کد کوتاه جاوااسکريپت و يا اسم يک تابع تعريف شده بايد قرار داد.

    براي درک بهتر مطلب، موس خود را بر روي اين جمله بياوريد.

    رويداد و کد استفاده شده به صورت زير است:

    <span onMouseOver="alert('Salam doost e man')">



    در صفحات قبل با بعضي از رويدادها آشنا شديد و حالا در اينجا کليه آنها را ياد خواهيد گرفت. لازم بذکر است که، همه رويدادها در تمام مرورگرها اجرا نمی شوند.
    رويدادهاي موس

    زمانيکه مي خواهيد جاوااسکريپت نسبت به حرکات موس، عکس العمل نشان دهد از اين رويدادها استفاده مي کنيد. به سورس کد مثالها دقت کنيد تا با کاربرد آنها بيشتر آشنا شويد.

    onClick براي کليک کردن دکمه چپ موس توسط کاربر. مثال

    onDblClick رويداد براي دوبار کليک دکمه چپ موس. مثال

    onMouseDown فشار آوردن بر روي دکمه چپ موس. مثال

    onMouseUp رها کردن دکمه موس پس از فشردن آن. مثال

    onMouseOver قرار گرفتن نشانگر موس بر روي يک چيزي. مثال

    onMouseOut خارج شدن موس از روي يک چيزي. مثال


    رويدادهاي کيبورد

    در اين رويدادها، جاوااسکريپت نسبت به فشردن يک کليد بر روي کيبورد توسط کاربر، عکس العمل نشان خواهد داد.

    onKeyPress فشردن يک کليد کيبورد. مثال

    onKeyDown مانند رويداد بالا براي فشردن يک کليد. مثال

    onKeyUp رها کردن يک کليد فشرده شده. مثال


    رويدادهاي فرم

    اين رويدادها مربوط به عملياتي است که کاربر بر روي اجزاي فرم انجام مي دهد. البته ممکن است بعضي از اين رويدادها بر روي متنهاي عادي در صفحه هم عکس العمل نشان دهند اما بيشترين کاربرد را در فرمها دارند.

    onFocus هنگاميکه توسط موس و يا دکمه Tab کيبورد بر روي يکي از اجزاي فرم متمرکز شويد. مثال

    onBlur هنگاميکه تمرکز از روي يکي از اجزاي فرم خارج شود. مثال

    onSelect انتخاب کردن يک متن در صفحه يا در يک فرم. مثال

    onChange تغيير در اجزاي فرم، مانند تغيير متن در کادر متني. مثال

    onSubmit فشردن دکمه تأييد يک فرم. مثال

    onReset فشردن دکمه reset يا همان پاک کردن اطلاعات فرم. مثال


    رويدادهاي يک صفحه

    يکسري از رويدادها هم مربوط به صفحات وب مي باشد، مانند لود شدن صفحه يا بستن آن.

    onLoad تکميل شدن يک صفحه وب يا يک تصوير در مرورگر. مثال

    onUnload بستن مرورگر يا خروج از يک صفحه وب. مثال

    onResize تغيير اندازه پنجره مرورگر. مثال

    يک رويداد ديگر هست که مي توان هم براي يک صفحه و هم براي يک عکس بکار برد:

    onError اين رويداد زماني اجرا مي شود که يک عکس به هر دليلي لود نشود يعني در جاي خود قرار نگيرد. مثال

    معمولاً براي رويدادها، ابتدا يک تابع تعريف مي شود تا هنگام نوشتن رويداد در يک تگ اچ تي ام ال، نظم برقرار باشد و از شلوغي تگ جلوگيري شود. بيشترين کاربرد اين رويدادها در تأييد اعتبار فرمها و پرسشنامه ها مي باشند که در يک بخش مجزا آنرا توضيح خواهم داد.


    امضاء



صفحه 2 از 2 نخستنخست 12

اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

کلمات کلیدی این موضوع

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  
© تمامی حقوق از جمله طراحی قالب برای سایت آیه های انتظار محفوظ می باشد © طراحی و ویرایش Masoomi