2015-09-12 32 views
2

我有導航按鈕的滑塊,並且當用戶將鼠標懸停在按鈕(幻燈片)上時,我想顯示正確的圖像。所以我採取索引號(h)如何通過其索引選擇DOM元素

var slideNr = $('.slidermenu li').index($('.activeslide')); 

我檢查了值,這工作正常。我的問題開始時,我想添加類(顯示正確的圖像)「activeimg」的img與按鈕相同的索引。

$('.sliderimage :eq(slideNr)').addClass("activeimg"); 

我試過了:eq和:get,didint都想工作,有什麼想法?

編輯:

HTML

<div class="sliderimage"> 
<img src="img.jpg"> 
<img src="imga.jpg"> 
<img src="imgb.jpg"> 
<img src="imgd.jpg"> 
<img src="imgc.jpg"> 
</div> 

<div class="slidermenu"> 
      <ul> 
      <li>button1</li> 
      <li>button2</li> 
      <li>button3</li> 
      <li>button4</li> 
      <li>button5</li> 
      </ul> 

JS

$(".slidermenu li").hover(

    function() { 
     clearInterval(timer); 
      $('.slidermenu ul :not(this)').removeClass("activeslide"); 
      $(this).addClass("activeslide"); 
      var slideNr = $('.slidermenu li').index($('.activeslide')); 
----problem------------- 
      $('.sliderimage img :not(:eq(slideNr))').removeClass("activeimg"); 
      $('.sliderimage :eq(slideNr)').addClass("activeimg"); 
----------------- 
    }, 
    function() { 
     timer = setInterval(slidedown, 3000); 
    } 
+0

沒有足夠的代碼來看看如何將這些片斷被使用,也參考什麼HTML – charlietfl

+0

你需要表現出足夠的HTML和JavaScript/jQuery來重現您的問題(見「[MCVE]」指南) 。 –

回答

3

我更喜歡使用EQ功能來代替。
根據jQuery的文檔:

如果提供的jQuery代表了一組DOM元件,所述.EQ()方法從該組內的一個元件構造一個新的jQuery對象。提供的索引標識該元素在集合中的位置。顯示

$('.sliderimage').eq(slideNr).addClass("activeimg"); 
+0

我擰了選擇器,$('。sliderimage img')。eq(slideNr).addClass(「activeimg」);工作ty! –

+0

我很高興它的工作;-) – Sagi

1

您正在使用 'slideNr' 作爲,還不如變量

試試這個:

$('.sliderimage :eq('+slideNr+')').addClass("activeimg"); 
相關問題