我有多個DOM元素。當每個人在窗口內都可見時,我會在該元素上發起動畫。js/jQuery:停止事件監聽器
每個元素都將窗口滾動事件註冊到同一事件處理程序,並將此元素的ID和特定於事件的回調函數傳遞給動畫。
此單個事件處理函數測試元素是否在屏幕上,如果是,則觸發回調。
但是......即使在觸發回調之後,它仍然會偵聽窗口滾動事件。我如何關閉滾動監聽器? jQuery「關閉」不起作用。
$(window).on('scroll', function() {
sharedFunctionsModuleName.initialAnimationWhenChartBottomVisible({
chartID: chartID,
callbackFunction: thisWebpageModuleName.animationFunctionName
});
});
你怎麼嘗試'關閉','$(window).off('scroll');' – Tushar
嗨Tushar,是的,我試過,但是這阻止了所有元素的監聽器。我想要做的是爲每個dom元素註冊一個窗口滾動事件,然後在事件處理器觸發一次後停止該元素特定的偵聽器。 –
我想這對於滾動監聽器/監聽器保持監聽不是什麼大不了的事情。看起來好像當我不再需要時,我想停止傾聽。 1個事件,1個處理程序,多個元素。 –