Не передается параметр в функцию
Доброго дня уважаемые коллеги. Столкнулся с проблемой и никак не могу решить. Помогите пожалуйста.
Есть кусочек кода: Задумка такая (написал функцию плавного скролла к верху страницы при нажатии на элемент - анимацию делаю попиксельным изменением scrollTo при помощи setInterval. Хочу сделать так, что если, в момент анимации, мы покрутили колесиком - анимация остановилась). Во общем отлавливаю прокрутку колесика, но никак не могу передать ID интервала внутрь EventListerer функции (там в z - содержится не Id интервала, а object WhellElement. (это логично ибо мы ловим как раз прокрутку колесика) Но как мне передать в параметре Id интервала ? Спасибо за любую помощь. Код JavaScript function scrollReset(scrollToTop){ //важно! поддержка в старых браузерах не гарантируется var z = scrollToTop; if ('onwheel' in document) { document.addEventListener ("wheel", function(z){ alert(z); clearInterval(z); }, false); } } |
Velidan, проблема в том, что у тебя одинаковые имена переменных
|
d.skuratovich Спасибо большое за ответ.
А как правильнее сделать? (ведь я присваиваю z - scrollToTop который передается извне, а после эту z - передаю во "внутреннюю" функцию для дальнейшей работы с ним). Что я не так делаю? Сделал вот так: function scrollReset(scrollToTop){ //важно! поддержка в старых браузерах не гарантируется var id = scrollToTop ; if ('onwheel' in document) { document.addEventListener ("wheel", function(){ clearInterval(id); alert(id); }, false); } } И все заработало. Переменная которую получила родительская ф-ция, по умолчанию доступна для "дочерней". Не знал этого. Почитаю еще о областях видимости. Спасибо большое за подсказку и ответ. П.С. если не трудно - объясните пожалуйста вкратце, почему мой первый вариант с присваиванием и передачей не заработал? |
<script> document.addEventListener("click", function(z){alert(z);},false) </script> в consol покажет события так же и у тебя было !!! addEventListener // передает аргумент события !! |
Часовой пояс GMT +3, время: 11:37. |