Почему моя функция "упрощённый вариант" не работает с другими 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, время: 23:32. |