Бегущая строка на js
Помогите, пожалуйста! Я нашла скрипт бегущей строки и пытаюсь сделать так, чтобы после появления всей строки текст останавливался на 5 сек. и был полностью виден. Но время от времени появляется первая буква текста и начинает мигать. Где у меня ошибка?
Спасибо! <script language="JavaScript"> var line="Текст бегущей строки здесь"; var speed=150; // скорость var i=0; function start(){ document.cit.forum.value=" "; i=0; } function m_line() { if(i++<line.length) { document.cit.forum.value=line.substring(0,i); } else{ setTimeout('start()',5000); } } </script> <table width="500" border="0" cellspacing="0" cellpadding="0"> <tr><td> <form action="" name="cit" id="cit"> <input type=text size=80 name=forum style="border: 0px; background-color: #ff9900; color: Black;"> </form> </td></tr> </table> </center> <script language="JavaScript"> setInterval('m_line()',speed); </script> |
во-первых надо очишать таймер интервала после того как строка выведена полностью, иначе вызов функции m_line так и будет происходить каждые 150 миллисекунд... Во вторых запуск интревала тогда лучше производить из функции start...
var line="Текст бегущей строки здесь"; var i, timer, speed=150; function start(){ document.cit.forum.value=" "; i=0; timer = setInterval('m_line()',speed); } function m_line() { if(i++<line.length) { document.cit.forum.value=line.substring(0,i); } else{ clearInterval(timer); setTimeout('start()',5000); } } <table width="500" border="0" cellspacing="0" cellpadding="0"> <tr><td> <form action="" name="cit" id="cit"> <input type=text size=80 name=forum style="border: 0px; background-color: #ff9900; color: Black;"> </form> </td></tr> </table> </center> <script language="JavaScript"> start(); </script> |
Большое спасибо, ZoNT! Все работает! Вы мне очень помогли!
|
Часовой пояс GMT +3, время: 20:09. |