Почему click() срабатывает только один раз?
Функция сдвигает слой влево.
Сдвигает один раз. В чем проблема, не пойму, помогите пожалуйста! Нужно чтобы она работала при каждом нажатии.
<script type="text/javascript">
var i=0;
var m;
margin=$("div#slideimages").css("margin-left");
$("div#rew").click(function(){
if(i<8){
//alert("Стартуем!")
//alert(margin)
m=parseInt(margin)-175
//alert(m)
margin=m+"";
margin=m+"px";
//alert(margin)
$("div#slideimages").css("margin-left",margin);
i++;
//alert (i)
}
else{
alert("Счетчик достиг 8");
}
});
</script>
|
Посмотреть решение
Ошибки: 1. перед переменной margin нехватает var. 2. parseInt можно перенести в первое объявление переменной margin. 3. на десятой строке - не хватает точки с запятой в конце сроки. 4. 12 и 13 строки лишние. 5. переменная m лишняя, перезаписывайте переменную margin. . |
Не помогло. Объявляю пустую margin, внутри функции click() получаю margin и не срабалывает на второй раз:-?
<script type="text/javascript">
var i=0;
var m;
var margin;
$("div#rew").click(function(){
if(i<8){
margin;=$("div#slideimages").css("margin-left");
//alert("Стартуем!")
//alert(margin)
m=parseInt(margin)-175
//alert(m)
margin=m+"";
margin=m+"px";
//alert(margin)
$("div#slideimages").css("margin-left",margin);
i++;
//alert (i)
}
else{
alert("Счетчик достиг 8");
}
});
</script>
|
Посмотрите решение по ссылке в моём предыдущем комментарии.
Там всё работает. P.S. переписал немного, сократил. и добавил список ошибок. |
Скопировал из "решения" , не работает... странно.
|
Откройте консоль браузера и посмотрите есть ли там ошибки после второго клика.
|
Работает если в браузере в исходном коде margin-left поменять на 0, то срабатывает, и выставляет значение 350px и т д.
|
chrome пишет : event.returnValue is deprecated. Please use the standard event.preventDefault() instead.
|
1. Даже если в css не задавать элементу margin-left, то это значение в любом случае будет равно 0.
2. Двигать блок можно и с помощью position() (относительно родителя) или offset() (относительно документа) Посмотреть Смотрите ещё раз мой пример, я минимизировал его (было много лишнего), и ищите конфликт с остальным кодом всего Вашего скрипта. В консоли, кроме ошибки, отображается и номер строки скрипта, на которой произошла ошибка. Ещё проверьте, чтоб например не было двух разных глобальных переменных с именем margin. Поэтому в моём примере может работать а в Вашем нет. |
такая же бойда).. скрипт работал, а потом вдруг перестал, и с этим же предупреждением.. заменил версию на новую 1.9.1 , заменил .live на .on везде., и все заработало) выходит - мы все под колпаком :haha: даже на локалке это дело было
|
| Часовой пояс GMT +3, время: 02:07. |