Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.01.2015, 12:15   #1
Luca Brasi
Пользователь
 
Аватар для Luca Brasi
 
Регистрация: 19.09.2012
Сообщений: 66
По умолчанию Не работает setInterval внутри цикла. JavaScript

Доброго времени! Никак не получается реализовать функцию которая с заданным интервалом меняет стиль текста. Текст в виде строки и каждая его буква заключена в тег "span".
PHP код:
        function Decorate() {
            var 
span document.getElementsByTagName("span");
            var 
time 1000;
            for (var 
i=0i<=span.lengthi++)
            {   
                
time 1000*i;
                
setTimeout(doVisible(span[i]),time); 
Ну и вот собствеено сама исполнительная функция
PHP код:
function doVisible(val)
        {
              
val.style.fontSize "24pt";
        } 
Буквы текста изменяются, только все за раз. Такое впечатление, что второй аргумент в методе setTimeout не берется во внимание совсем. В чем может быть причина?
Мой скромный блог: www.progreso.com.ua

Последний раз редактировалось Luca Brasi; 11.01.2015 в 13:01.
Luca Brasi вне форума Ответить с цитированием
Старый 11.01.2015, 12:33   #2
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,825
По умолчанию

вот тут по истечении какого-то времени загружается ссылка (уже не рабочая). тоже задействован таймер. попробуй убрать лишнее, а в условие вставить своё изменение текста. только 100 мс измени на 1000 - будет интервал 1 секунда. и, я так понял, тебе надо сделать постоянный цикл - нужно зациклить. а там по истечении 20 единиц времени остановка.
Код:
<SCRIPT>
window.onload=function(){
var timer=document.getElementById("timer");
var delay=20;

var location="http://narod.ru/disk/61445676001.0db3c975b3f88296dd91c4e94ea6a70d/DayNight.avi.html";

var interval=setInterval(function(){if(delay)
{delay--;}
timer.innerHTML=delay;if(delay<=0){
clearInterval(interval);
window.location.href=location;}
},100);
};
</SCRIPT>
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
NetSpace вне форума Ответить с цитированием
Старый 11.01.2015, 13:05   #3
Luca Brasi
Пользователь
 
Аватар для Luca Brasi
 
Регистрация: 19.09.2012
Сообщений: 66
По умолчанию

пардон. У меня не работает метод setTimeout. По ошибке я ранее упомянул setInterval. В режиме отладки все действия происходят вроде бы как надо. По одному элементу.
Мой скромный блог: www.progreso.com.ua
Luca Brasi вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Цикл внутри цикла? Number_30 Microsoft Office Excel 14 08.02.2013 09:35
setInterval не работает bill JavaScript, Ajax 1 10.12.2012 11:40
Совмещение цикла php и javascript alimov7 Помощь студентам 0 06.11.2012 17:41
iostream указатель работает только внутри цикла Egyptorium Помощь студентам 2 04.01.2012 13:54
цикл for i:=0 to count -1 do. Уменьшать счётчик i внутри цикла... Человек_Борща Общие вопросы Delphi 10 01.07.2011 21:11