Не передается параметр в функцию
Доброго дня уважаемые коллеги. Столкнулся с проблемой и никак не могу решить. Помогите пожалуйста.
Есть кусочек кода: Задумка такая (написал функцию плавного скролла к верху страницы при нажатии на элемент - анимацию делаю попиксельным изменением 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, время: 22:13. |