Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Бегущая строка на js (https://javascript.ru/forum/dom-window/3254-begushhaya-stroka-na-js.html)

yvarvara 31.03.2009 21:55

Бегущая строка на 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>

ZoNT 01.04.2009 11:37

во-первых надо очишать таймер интервала после того как строка выведена полностью, иначе вызов функции 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>

yvarvara 01.04.2009 12:12

Большое спасибо, ZoNT! Все работает! Вы мне очень помогли!


Часовой пояс GMT +3, время: 14:27.