Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Изменение текста в бегущей строке (https://javascript.ru/forum/dom-window/3258-izmenenie-teksta-v-begushhejj-stroke.html)

yvarvara 01.04.2009 13:08

Изменение текста в бегущей строке
 
У меня появился новый вариант бегущей строки :) , но, к сожалению, текст в ней не хочет изменяться. Подскажите, пожалуйста, в чем проблема?

<script language="JavaScript">
var line = ["На март 2009 от родителей поступило 130 просьб на проведение домашних консультаций.","К настоящему времени проведено 50 консультаций 

на дому.","Всего с начала года мы провели 310 консультаций на дому."];
var num = 0;
var i, timer, speed=150;
function start(num){
        document.cit.forum.value=" ";
    i=0;
    timer = setInterval('m_line(num)',speed);

}
function m_line(num) {
        if(i++<line[num].length) {
        document.cit.forum.value=line[num].substring(0,i);
    }
else{
    clearInterval(timer);
    num++;
    if(num>2) {
        num=0;
    }
    setTimeout('start(num)',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">
start(num);
</script>

ZoNT 01.04.2009 15:28

setTimeout(function(){start(num)},5000);
и
timer = setInterval(function(){m_line(num)},speed);

yvarvara 01.04.2009 16:42

Большое спасибо! Все заработало! А не можете объяснить, почему так надо писать? Что это значит? Почему у меня не работало?

AzriMan 01.04.2009 17:35

потому что в данном случае нужно явно указать ф-ю

ZoNT 01.04.2009 18:24

можно и не указывать явно функцию, а передать значение нормально:
setTimeout('start('+num+')',5000);
и
timer = setInterval('m_line('+num+')',speed);


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