Не выполняется условие if
Всем привет. Скажите пожалуйста (у кого появятся идеи), почему может не работать условие в небольшой функции:
z=0; d=0; function right(len) { if (z==-len) {return}; d=setTimeout('right()',10); z -= 5; document.getElementById("gallery").style.left = z + 'px'; <img onmouseover="right(50);" onmouseout="clearTimeout(d);"> Эта ф-я прокручивает блок с миниатюрами при наведении курсора на рисунок стрелки. Когда положение блока == нужному параметру, движение останавливается. В моем случае это условие почему-то не срабатывает, и блок едет бесконечно (если подставить параметр прямо в условие - работает). Пытался алертить при каждом смещении блока, через 2-3 смещения значение параметра алертится "NaN". Спасибо! |
Цитата:
|
var d = 0, z = 0, gallery = document.getElementById('gallery').style; function right(len) { d = setInterval(function() { if(z == -len) clearInterval(d); else gallery.left = (z -= 5) + 'px'; }, 10); } <img onmouseover="right(50)" onmouseout="clearInterval(d)" /> |
d=setTimeout('right(len)',10); - в этом случае даже движения нет, может я ошибаюсь в синтаксисе setTimeout? Меня тоже смущает это место. Но без len хотя бы едет блок и останавливается при onmouseout. Не может только остановиться на крае, едет дальше
(ссылка на всякий случай) _http://svyatoslavdesign.com.ua/works/catering/1/ |
Цитата:
|
а если разместить тег img до скрипта и поставить ему id="gallery" ?
|
Цитата:
|
<img id="gallery" onmouseover="right(50);" onmouseout="clearInterval(d);"></div> var d = 0, z = 0, gallery = document.getElementById('gallery').style; function right(len) { d = setInterval(function() { if(z == -len) clearInterval(d); else gallery.left = (z -= 5) + 'px'; }, 10); } хотя возможно не работало только из-за опечатки в document.getElementById('gallery').style |
Цитата:
|
в стиле y img position absolute ?
|
Часовой пояс GMT +3, время: 07:15. |