Почему 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, время: 01:28. |