- •JavaScript сабақтары Неден бастайық?!
- •Негізгі ұғымдар
- •Объектілік модель
- •Терезенің өлшемі мен орны
- •Модальды сұхбат/диалог
- •Оқиғалар
- •Формалар
- •Форманың толымдылығын тексеру
- •Тайминг
- •Құжатты оқып-үйренуді жалғастырамыз
- •Презентациялар жасау (жиымдар мен суреттерге ауысамыз)
- •Презентациялар (кодтың сипаттамасы)
- •Суреттер және тышқан оқиғасы
- •Фотоальбом құрайық
- •Суретті ауыстыру үшін сілтемені шертіңіз (бұл жерде олар істемейді, тек мысал үшін ғана):
- •Суреттерді үлкейту
Тайминг
Әдетте біз парақ бетіндегі әрекеттерімізге қарамастан белгілі бір уақыт аралығында бірдеңе болып жататынын байқап жүрміз. Бұл да window обьектісінің көмегімен беріледі.
Басталуы үшін осы оқиғалар болатындай етіп, уақыт аралығын беру қажет. Ол үшін window обьектісінде setInterval әдісі бар. Оның синтаксисі мынадай:
setInterval(Expr, Msec, Lang) |
Exp
Шақырылатын процедура (бұл функция, тэг қасиеті, форма элементі де болуы мүмкін).
Msec
Уақыт аралығын миллисекундпен қою.
Lang
Шақырылатын процедураның скрипт жазылатын тілін анықтайтын міндетті емес параметр (Java Script, және т.б.)
Кәнеки алдымен Java Script-те жиымдар қалай қалыптасатынын қарастырайық, содан соң оларды біздің ойымызды жүзеге асыруға қолданайық.
Java Script –те жиымды үш тәсілмен құруға болады:
new Array() new Array(size) new Array(element0, element1, ..., elementn)
size
Жиым өлшемі.
element0, ...
Жиым элементтері.
Мысалы:
var my_array = new Array(); for (j = 0; j < 10; j++) { my_array[j] = j; } x = my_array[4]; |
немесе
var my_array = new Array("1", "2", "3"); |
Енді interval.htm HTML-парақшасын құрайық.
<html> <head> <title>Тайминг</title> </head> <body onload="initarr();"> <p id=myp>0</p> </body> </html> |
Осындай ғана кішкентай парақша осы. Енді id=myp идентификаторымен <p> тэгінде не болуы тиіс екендігін қарастырайық. Біз оны арасы 1 секунд аралықпен 0-ден 9-ға дейінгі сандарды шығаратын NumCounter() функциясымен байланыстырайық. Әзірше уақытқа байланыстырмай тек шығару ғана. initarr() функциясының не істейтінін көрейік. NumCounter() функциясы <head> ... </head> тэгінің денесінде орналасады.
<script> var mytext = new Array(); //жиым құрайық var i = 0; // бұл айнымалы өте ауқымды және // барлық функциялар үшін қол жетімді function NumCounter() { myp.innerText = mytext[i]; i ++; if(i > 9) i = 0; } function initarr() { for (j = 0; j < 10; j ++) mytext[j] = j; // жиымды 0-ден 9-ға дейінгі //сандармен инициализациялау. document.write("жиым инициализацияланды<br>"); } </script> |
Бұл жерде біз жиым құрып, оны инициализацияладық. Яғни, HTML-құжатты жүктеу кезінде initarr() функциясын шақыру жүргізіледі, сол жерде жиым инициализацияланады. Енді <body> тэгінің денесіне мынаны жазайық:
<script> setInterval("NumCounter()", 1000); </script> |
Енді HTML-құжаттың кодын біздің толықтыруларды ескере отырып, қайта жазайық.
<html> <head> <title>Тайминг</title> <script> var mytext = new Array(); var i = 0; function NumCounter() { myp.innerText = mytext[i]; i ++; if(i > 9) i = 0; } function initarr() { for (j = 0; j < 10; j ++) mytext[j] = j; } </script> </head> <body onload="initarr();"> <script> setInterval("NumCounter()", 1000); </script> <p id=myp>0</p> </body> </html> |
Осы парақты іске қосқанда онда 0-ден 9-ға дейінгі сандарды шексіз терім жүзеге асады. Онымен эксперимент жасап көріңіз.
