Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Зациклить появление таблички (https://javascript.ru/forum/misc/1622-zaciklit-poyavlenie-tablichki.html)

SunYang 25.08.2008 12:03

Зациклить появление таблички
 
Сделал скриптик, появления таблички. Она появляется только один раз.
По идее функция reblock() должна убирать текст, значение width и запускать снова функцию go() под методом setIntervall, но почему-то вызова не происходит. Почему и как подправить? (функцию reblock() вызываю из rtext() методом setTimeout() через 1000 мс.).
Спасибо.

<DIV id="ool" style="position:absolute; top:55px; left:200px; width:0; height:20; background-color:#7e7e7e; border:#0583b2 solid 1px; opacity:0.6; filter:alpha(opacity = 60);">&nbsp;</DIV>

<script>
aero = document.getElementById("ool")
a=1
b = 1
stopplus = setInterval(go, 2)

rstr = "<center>Высокие технологии</center>"
astr = rstr.split("")
typestr = ""
i = 0

// функция перезапуска движения. запускается в функции rtext() сторокой setTimeout(reblock, 1000)
function reblock() {
aero.innerHTML = ""; 
aero.style.width = 0;
setTimeout(stopplus , 5000)
}

// ФУНКЦИЯ УВЕЛИЧЕНИЯ БЛОКА
function go() {
if(b<=200) {
x = a+b
aero.style.width = x
b = b+4
} else {
clearInterval(stopplus)
xinterval = setInterval(rtext, 50)
}
}

// ФУНКЦИЯ НАПИСАНИЯ ТЕКСТА
function rtext() {
if(i<astr.length) {
typestr+=astr[i]
aero.innerHTML = typestr
i++
}
else {
clearInterval(xinterval)
setTimeout(reblock, 1000)
}
}
</script>

ZoNT 25.08.2008 12:09

не вижу нигде обнуления b
после первого показа b<=200 всегда выдаст false.

SunYang 25.08.2008 12:32

Как сделать так, чтоб эта табличка появлялась прибавлением width по немногу, спустя некоторое время убывала убавлением width, а потом, также спустя еще какое-то время, этот цикл повторялся?

ZoNT 25.08.2008 12:34

разработать соответствующи алгоритм :)

SunYang 25.08.2008 12:47

очень помогло - спасибо:D

ZoNT 25.08.2008 12:57

нет, реально, разработка алгоритма не зависит от языка программирования.
Надо сначала понять, чего ты хочешь, записать по пунктам, потом составить алгоритм "на бумажке", если он работает "на бумажке", то можно его реализовывать на любом языке...

SunYang 28.08.2008 08:42

Так и сделал...и, действительно помогло:)

ZoNT 28.08.2008 08:45

тебе всегда это будет экономить время в разработке, если будешь придерживаться...

Kolyaj 28.08.2008 09:09

Цитата:

Сообщение от ZoNT
если он работает "на бумажке", то можно его реализовывать на любом языке...

Особенно интересно на brainfuck :)

Gvozd 28.08.2008 21:07

тогда уж лучше на whitefuck :D


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