Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Перебежка по буквам. (https://javascript.ru/forum/misc/24523-perebezhka-po-bukvam.html)

Livaanderiamarum 12.01.2012 00:29

Цитата:

Сообщение от trikadin
Кстати - ставьте один интервал для всех элементов, а не для каждого отдельного.

Девяносто пятая винда и второй цемпрон научат его оптимизации XD!!!

trikadin 12.01.2012 00:33

Цитата:

Сообщение от Livaanderiamarum
Девяносто пятая винда и второй цемпрон научат его оптимизации XD!!!

Время научит, дай бог...

art13 12.01.2012 10:13

Код тяжелый это я знаю. Если бы оно заработало, то уже бы было интересно. Спасибо всем, буду учиться дальше.

art13 12.01.2012 12:03

Цитата:

Сообщение от Livaanderiamarum (Сообщение 149751)
Девяносто пятая винда и второй цемпрон научат его оптимизации XD!!!

Цемпронов не было. Был целер(интел) и семп(амд).

розовый слоник 12.01.2012 18:51

разбераться лень но сразу глаз режет то что у вас var i; фиг знает где объявленно, при втором запуске вашей функции i будет равно 6, дальше ищите сами))

art13 18.01.2012 11:14

Мне предложили такой вариант. Не уверен что это работает быстро на слабеньких компах.
<html>
<head>
<title></title>
</head>
<body>
<script> 
var mPos = 0;
var cPos = 0;
var bukva;
var step=0;
function moveB()
{
var a;
setTimeout("myBuk = document.getElementById('a1'); mPos = 300; bokMove(myBuk);",75000);
setTimeout("myBuk = document.getElementById('a2'); mPos = 310; bokMove(myBuk);",60000);
setTimeout("myBuk = document.getElementById('a3'); mPos = 320; bokMove(myBuk);",45000);
setTimeout("myBuk = document.getElementById('a4'); mPos = 330; bokMove(myBuk);",30000);
setTimeout("myBuk = document.getElementById('a5'); mPos = 340; bokMove(myBuk);",15000);
var myBuk = document.getElementById("a6"); mPos = 350; bokMove(myBuk);
}
function bokMove(wrBuk)
{
bukva = wrBuk
cPos = parseInt(bukva.style.left);
step = setInterval("dvig();",40);
}
function dvig()
{
cPos++;
if(cPos < mPos) bukva.style.left = cPos + "px";
else clearInterval(step);
}
</script>
<span id="a1" style="position:absolute; left:15px;" onclick="moveB()">c</span>
<span id="a2" style="position:absolute; left:25px;" onclick="moveB()">c</span>
<span id="a3" style="position:absolute; left:35px;" onclick="moveB()">ы</span>
<span id="a4" style="position:absolute; left:45px;" onclick="moveB()">л</span>
<span id="a5" style="position:absolute; left:55px;" onclick="moveB()">к</span>
<span id="a6" style="position:absolute; left:65px;" onclick="moveB()">а</span>
</body>
</html>

popov654 21.01.2012 01:05

А в чём вообще была Ваша цель? Двигать буквы по очереди (с разным интервалом)? Так формулировать чётче желательно :)

melky 21.01.2012 01:14

Цитата:

Сообщение от art13 (Сообщение 151198)
Мне предложили такой вариант. Не уверен что это работает быстро на слабеньких компах.
<html>
<head>
<title></title>
</head>
<body>
<script> 
var mPos = 0;
var cPos = 0;
var bukva;
var step=0;
function moveB()
{
var a;
setTimeout("myBuk = document.getElementById('a1'); mPos = 300; bokMove(myBuk);",75000);
setTimeout("myBuk = document.getElementById('a2'); mPos = 310; bokMove(myBuk);",60000);
setTimeout("myBuk = document.getElementById('a3'); mPos = 320; bokMove(myBuk);",45000);
setTimeout("myBuk = document.getElementById('a4'); mPos = 330; bokMove(myBuk);",30000);
setTimeout("myBuk = document.getElementById('a5'); mPos = 340; bokMove(myBuk);",15000);
var myBuk = document.getElementById("a6"); mPos = 350; bokMove(myBuk);
}
function bokMove(wrBuk)
{
bukva = wrBuk
cPos = parseInt(bukva.style.left);
step = setInterval("dvig();",40);
}
function dvig()
{
cPos++;
if(cPos < mPos) bukva.style.left = cPos + "px";
else clearInterval(step);
}
</script>
<span id="a1" style="position:absolute; left:15px;" onclick="moveB()">c</span>
<span id="a2" style="position:absolute; left:25px;" onclick="moveB()">c</span>
<span id="a3" style="position:absolute; left:35px;" onclick="moveB()">ы</span>
<span id="a4" style="position:absolute; left:45px;" onclick="moveB()">л</span>
<span id="a5" style="position:absolute; left:55px;" onclick="moveB()">к</span>
<span id="a6" style="position:absolute; left:65px;" onclick="moveB()">а</span>
</body>
</html>


этот код меня очень сильно огорчил. как самим способом реализации, так и реализацией.

с нашей помощью, выработайте нормальный алгоритм и нормально его реализуйте.

popov654 21.01.2012 01:31

Кстати, ОМГ... Разве первым аргументом setTimeout() является строка?..

trikadin 21.01.2012 03:38

popov654, можно использовать строку, но нежелательно.


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