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 13: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 13:09

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

SunYang 25.08.2008 13:32

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

ZoNT 25.08.2008 13:34

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

SunYang 25.08.2008 13:47

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

ZoNT 25.08.2008 13:57

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

SunYang 28.08.2008 09:42

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

ZoNT 28.08.2008 09:45

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

Kolyaj 28.08.2008 10:09

Цитата:

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

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

Gvozd 28.08.2008 22:07

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


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