Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Необходимо исправить функцию печатной машинки (https://javascript.ru/forum/events/35664-neobkhodimo-ispravit-funkciyu-pechatnojj-mashinki.html)

seoinby 17.02.2013 22:58

Необходимо исправить функцию печатной машинки
 
Если не туда создал тему, пусть модеры перебросят.
------------------------------------------------------
Вот html вместе с функцией печатной машинки

<html>     
<head>     
<title>Печатная машинка</title>     
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">     
<style type="text/css">     
<!--     
.style1 {font-size: 12px}     
-->     
</style>     
<script>     
<!-- web-mastery.info -->     
var source,dest,len,now=0,delay=100,letters=1;     
function show_text()     
{     
source = document.getElementById("1");     
dest = document.getElementById("pageText");     
len = source.innerHTML.length;     
show();     
}     

function show()     
{     
dest.innerHTML += source.innerHTML.substr(now,letters);     
now+=letters;     

if(now<len)     
setTimeout("show()",delay);     
}     
</script>     
</head>     
<body bgcolor="#FAFDFF" onload="show_text();">     
<p id="1">Текст печатной машинки </p>     
<p id="2">Текст печатной машинки </p>   
<p id="3">Текст печатной машинки </p>   
...
<p id="31">Текст печатной машинки </p>  
<p id="pageText">     
</p>     

</body>     
</html>


в данной функции текст выводиться абзац только с id=1 и только один раз, а у меня их (<p>) 31 штука. И каждый раз это число меняется.

Мне необходимо организовать цикл печатной машинки так что бы число <p> бралось их php переменной как я описал ниже

for (var k = 0; k <<?php echo $i ?>; k++) {


а текст печатной машинки выводился циклом, сначала id=0, потом id=1 и т.д. в зависимости от счётчика "k"

source = document.getElementById("k"); - сдесь id элемента в цикле


в общем в мною предложенную функцию нужно добавить цикл, но так что бы следующий элемент выводился, только когда вывелся предыдущий. друг за другом. id=0, id=1, ... id=k

Спасибо за помощь!

рони 17.02.2013 23:47

seoinby,
<html>
<head>
<title>Печатная машинка</title>
<meta charset="utf-8" />
<style type="text/css">
<!--
.style1 {font-size: 12px}
-->
</style>
<script>
<!-- web-mastery.info -->
var source,dest,len,now=0,delay=100,letters=1,k = 1;
function show_text()
{
source = document.getElementById(k);
dest = document.getElementById("pageText");
len = source.innerHTML.length;
show();
}

function show()
{
dest.innerHTML += source.innerHTML.substr(now,letters);
now+=letters;

if(now<len) {setTimeout("show()",delay)}
else {k++ ;now=0;
 if (k < 5)  show_text();
}

}
</script>
</head>
<body bgcolor="#FAFDFF" onload="show_text();">
<p id="1">Текст печатной машинки 1</p>
<p id="2">Текст печатной машинки 2</p>
<p id="3">Текст печатной машинки 3</p>
<p id="4">Текст печатной машинки 4</p>
<p id="pageText">
</p>

</body>
</html>

danik.js 18.02.2013 06:30

Цитата:

Сообщение от Дзен-трансгуманист
id не должен начинаться с цифры

По стандарту да. Но ведь это не создает никаких проблем (по крайней мере на сегодняшний день) с getElementById насколько я знаю?

ksa 18.02.2013 08:46

Цитата:

Сообщение от Дзен-трансгуманист
id не должен начинаться с цифры.

В прошлом году опровергли это высказывание...

danik.js 18.02.2013 09:11

Цитата:

Сообщение от ksa
В прошлом году опровергли это высказывание...

Хватит загадками говорить. Кто опроверг? Что опроверг? Что id чего-то не должен? Он вобще никому ничего не должен, ведь так?

ksa 18.02.2013 09:17

Цитата:

Сообщение от danik.js
Кто опроверг?

Было обсуждение на тему ИД... Приводили ссылки на статьи и примеры...
Итог - ИД может быть вообще цифровым.

danik.js 18.02.2013 09:24

Итога быть не может. Все зависит от задачи.

try {
    document.querySelector('#1');
} catch(e) {
    alert(e.message);
}

ksa 18.02.2013 09:25

Цитата:

Сообщение от danik.js
Итога быть не может.

Ну итог-то есть всегда. :D

danik.js 18.02.2013 09:28

Цитата:

Сообщение от ksa
Ну итог-то есть всегда

Да, вот только он может зависить от входных параметров, например таких как условие применимости в css-селекторах

ksa 18.02.2013 09:28

Цитата:

Сообщение от danik.js
вот только он может зависить от входных параметров

Бесспорно! :yes:


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