2012-01-23 71 views
1

我製作了一個具有滑動菜單的常規圖像滑塊。使用基於Id的循環設置類

如果滑塊上滑動#3的菜單看起來像這樣:(這是與幻燈片ID菜單按鈕)

3 4 5 1 2 

當前幻燈片始終是第一,其次是下一張幻燈片和第一張幻燈片是在最後一張幻燈片之後。

所以如果幻燈片#4是最新的菜單是這樣的:

4 5 1 2 3 

,現在我想一類設置到每個這些。因此,第一個按順序有「position1」和下一個「position2」等。

此函數在每次幻燈片更改時調用,currentSlide變量包含currentSlide id。

function setMenuColors(currentSlide) { 
    jQuery('#slider-menu'+currentSlide).removeClass().addClass('slider-menu-item position1'); 
} 
jQuery的東西,設置類當前幻燈片某種循環應當設置類在四張幻燈片,但我不能找出我應該怎麼做之後

任何人有任何想法?

編輯:爲菜單中的HTML看起來像這樣:

<ul id="slider-menu-content"> 
    <li id="slider-menu1" class="slider-menu-item position1">slide menu button 1</li> 
    <li id="slider-menu2" class="slider-menu-item position2">slide menu button 2</li> 
    <li id="slider-menu3" class="slider-menu-item position3">slide menu button 3</li> 
    <li id="slider-menu4" class="slider-menu-item position4">slide menu button 4</li> 
    <li id="slider-menu5" class="slider-menu-item position5">slide menu button 5</li> 
    <li id="slider-menu1" class="slider-menu-item position1">slide menu button 1</li> 
    <li id="slider-menu2" class="slider-menu-item position2">slide menu button 2</li> 
    <li id="slider-menu3" class="slider-menu-item position3">slide menu button 3</li> 
    <li id="slider-menu4" class="slider-menu-item position4">slide menu button 4</li> 
    <li id="slider-menu5" class="slider-menu-item position5">slide menu button 5</li> 
</ul> 

的雙峯是由jQuery的創建,這樣的菜單可以無縫循環。 元素的順序不變。

回答

0

想象你有如下的結構:

<div id="container"> 
    <div>1</div> 
    <div>2</div> 
    <div>3</div> 
    <div>4</div> 
    <div>5</div> 
</div> 

可以

$("#container").children("div").removeClass().addClass("slider-menu-item"); 
$("#container").children("div :first").addClass("first"); 

見例如: http://jsfiddle.net/VAMhu/

+0

的問題是,我想添加一個類的所有元素。並且容器中元素的順序不會改變。 (因爲其移動的容器而不是其中的元素) – Patrik

+0

我在這裏沒有得到重點。如果你在容器中有一些設置的子元素,那麼上面的@nico給出的代碼應該適合你。你能解釋哪部分不適合你嗎? – ankur

+0

該代碼只會爲第一張幻燈片添加類。我需要爲每張幻燈片製作一個課程。容器中的第一個元素並不總是當前的幻燈片。 – Patrik