2015-10-04 3 views
1

В настоящее время я работаю над плагином JS, и мне нужно обновить значение прокрутки, поэтому я подключил прослушиватель событий к документу, чтобы вызвать функцию, которая должна обновить вышеупомянутое значение ,прослушиватель событий «прокрутки» не работает

Дело в том, что оно работает с загрузкой документа, но не с прокруткой. Это похоже на то, что событие прокрутки не работает вообще.

В настоящее время моя JS часть выглядит следующим образом:

var currentPosition = 0; 

var updatePosition = function() { 
    currentPosition = document.body.scrollTop; 
    document.getElementById('indicator').textContent = currentPosition; 
}; 

document.addEventListener('scroll', updatePosition()); 

Вот скрипка, чтобы сделать его немного более ясно: JSFIDDLE

Я попытался прикрепление слушателя событий как на теле и в окне это не имеет никакого значения.

ответ

1

Вы непосредственно вызова функции с помощью updatePosition(), и это потому, что вы действуете огонь в начале страницы, вы должны приложить и обработчик, используя только имя функции updatePosition.

Код:

document.addEventListener('scroll', updatePosition); 
                |-- no() here 

Демо: http://jsfiddle.net/IrvinDominin/dyy6z35s/

+0

Благодаря кучу. Правильно и лаконично! – NicolasJEngler

+0

@NicolasJEngler рад помочь, добро пожаловать! –

0
var currentPosition = 0; 

var updatePosition = function() { 
    currentPosition = window.pageYOffset || document.documentElement.scrollTop;  
    document.getElementById('indicator').textContent = currentPosition;  
}; 

document.addEventListener('scroll', updatePosition); 

http://jsbin.com/seqecezecu/1/edit?js,console,output

Смежные вопросы