Почему моя функция "упрощённый вариант" не работает с другими DOM-элементами?
Работает только с одной span. Cо второй span не работает. Почему?
Переменные обнулял. Всё равно не рабоает. <html> <title></title> <head> <span id="span1"></span> <span id="span2"></span> </head> <body> <script src="script.js"></script> <script> printContent("span1", str); printContent("span2", str); //document.getElementById("span1").style.width = document.body.clientWidth; </script> </body> </html> var str = "Content1. Content1.Content1.Content1.Content1.Content1."; var i = 0; var l = str.length; function printContent(span, string){ id = window.setInterval( function(){ document.getElementById(span).innerHTML += string[i++]; if(i == l){ window.clearInterval(id); i = 0; l = 0; } }, 50 ); } |
убрал l = 0;
работает только с span1, со span2 не работает. Подскажите как исправить код, чтобы работала с любой span. |
Почему вызывая обе функции по очерёдно они работают одновременно. А они должны работать по очереди. Одна заканчивает работу, начинает работу вторая. Я же их вызваю по очереди, а они работают одновременно. Почему?
<html> <title></title> <head> <span id="span1"></span> <br></br> <span id="span2"></span> </head> <body> <script src="script.js"></script> <script> printContent("span1", str1); printContent("span2", str2); //document.getElementById("span1").style.width = document.body.clientWidth; </script> </body> </html> var str1 = "Text1"; var str2 = "Text2"; function printContent(id, string){ var element = document.getElementById(id); var counter = 0; var interval = window.setInterval( function(){ element.innerHTML += string[counter++]; if(counter == string.length){ window.clearInterval(interval); } }, 50 ); } |
как изменить код, чтобы setInterval работали так:
printContent 1 завершает свою работу. только тогда printContent 2 начинает свою работу. span2 начинает только после того как span1 закончила. таймеры работают неодновременно, а по-очереди. но 2 таймер включается только тогда, когда первый выключился. |
Менять полностью структуру. Таймер один вообще один для небольших промежутков времени,а иначе работа таймеров непредсказуема. Точнее предсказуемо что работать не будет
|
код плиз.
|
Часовой пояс GMT +3, время: 20:00. |