你每次滾動的窗口,這就是爲什麼你的例子不工作時安裝新的單擊事件偵聽器。
相反,嘗試這樣的:
var $collection = $("#treest").add("#treest2").add("$treest3");
$(window).scroll(function() {
if ($(this).scrollTop() > 200) {
// Removes click event listener
$collection.off('click'));
}
else {
// Check if a click event listener is attached, and if not, attaches a new one
if(!$collection.data('events').click.length) {
$collection.click(function() {
anim10();
});
}
}
});
此外,而不是執行數十個函數調用每次滾動的窗口和安裝時間/拆卸點擊事件監聽器,它是更好的性能明智的離開點擊監聽器那裏,只是驗證它在每次調用(如@Milind在他的回答曾建議):
var $collection = $("#treest").add("#treest2").add("$treest3");
$collection.click(function() {
if ($(window).scrollTop() <= 200)
anim10();
});
'語法錯誤:意外的令牌)' – Musa
你每次連接幾十個點擊的事件監聽器滾動你的窗口。 – user1853181