2017-05-25 54 views
-1

我有幾個html頁面,我想添加一個eventListener只有一個html頁面。添加eventListener到只有一個HTML頁面?

document.addEventListener('scroll', function(e){  
// along the scroll, the img's opacity changes. 
}); 

在該html頁面中,如果我滾動頁面,整個頁面img的opcacity更改。

的問題是,這個監聽器在其他頁面也將觸發,

我怎麼能這個監聽器添加到只有一個頁面?

+0

如果您在標題中包含此代碼,請將其僅移至該頁面。 – tech2017

+3

您可以將該函數添加到您希望加載的唯一html頁面中的''標籤,而不是將其放入您擁有的每個頁面中導入的js文件中。 – Lixus

+0

Lixus是正確的,另一種選擇是向父元素添加一個類,只有在它存在時纔會觸發? – atoms

回答

1

您可以使用window.location再附上事件處理程序,

if(window.location.href === 'YOUR_URL') { 
    document.addEventListener('scroll', function(e){  
    //your code 
    }); 
} 

或者你可以追加一些idbody並檢查其存在。

<body id="animate-stuff"> 

if(document.getElementById('animate-stuff')) { 
    document.addEventListener('scroll', function(e){  
    //exec your code here 
    }); 
} 
+0

似乎是一個糟糕的主意,要在裏面進行檢查,將它放在if中並且不應用事件偵聽器會更有意義。 – epascarello

+0

@epascarello oops,我的意思是,只是複製了他的代碼。謝謝,會改變 –