Не выполняется условие 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:43. |