2013-10-17 35 views
0

我正在創建一個「幻燈片放映」,如果您將其稱爲頁面導航。addEventListener的參數似乎無法正常工作

我正在嘗試使用forloop向所有菜單項添加一個eventlistener。它似乎並不奏效。基本上我有一個功能,顯示一個新的頁面,基於一個參數。

function slidePFer(page_side){ 

而且這工作完全通過手動設置事件監聽器是這樣的:

showPF = document.getElementsByClassName('showPF'); 

showPF[0].addEventListener('click', function(){ slidePFer(0); }, false); 
showPF[1].addEventListener('click', function(){ slidePFer(1); }, false); 
showPF[2].addEventListener('click', function(){ slidePFer(2); }, false); 
showPF[3].addEventListener('click', function(){ slidePFer(3); }, false); 

然而,這看起來非常凌亂。所以我試圖通過不同的循環來運行。我只是不能讓它工作,這裏是更promissing環路我曾嘗試之一:

for(var i=0, n=showPF.length; i<n; i++){ 
    showPF[i].addEventListener('click', function(){ slidePFer(i); }, false); 
} 

任何人可以看到我似乎不明白?從功能(I)

+0

仍在尋找正確的答案,如果有人知道嗎? –

回答

1

消除I也許這將修復它

+0

試過。我添加了「我」,看看這是我的錯誤,但它不是thx但是對於小費:) –

+0

色板的價值是什麼?也許它一定是showPF .length –

+0

不是它的樣本值。它是一個數組。我之前做過這些,但沒有與addeventlisteners合作。 –

0

使用jQuery(http://jquery.com),可以簡化這個是這樣的:

HTML

<img slideNo="0" class="showPF" src="slide_0_preview.jpg" /> 
<img slideNo="1" class="showPF" src="slide_1_preview.jpg" /> 
<img slideNo="2" class="showPF" src="slide_2_preview.jpg" /> 

的JavaScript

<script type="text/javascript" src="http://code.jquery.com/jquery-1.10.2.min.js"></script> 
<script type="text/javascript"> 
    $(document).ready(function() { 
     $('.showPF').click(function() { 
      slidePFer($(this).attr('slideNo')); 
     }); 
    }); 
    function slidePFer(slideNo) { 
     // todo 
    } 
</script> 
+0

應該可能說,我沒有jQuery這樣做。 thx但是你的答覆 –

相關問題