而不是命名你的訴權ñ按鈕
.linkSlide1
.linkSlide2
.linkSlide3
.etc ...
你可以做
.linkslide
和確保 是因爲您的按鈕, 這樣你.linkslide
元素將被index
從0
組織19
(20個鍵)的母公司內沒有其他元素。
比去搶單擊按鈕.index()
併發送到.superSlider(THAT INDEX!!)
。
爲了動畫的滑塊比你可以由一個滑動寬度檢索指數乘法:
LIVE DEMO
的jQuery:
$('.linkSlide, .back').click(function() {
var ind = $(this).index()+1; // +1 cause we are already at 0
if($(this).hasClass('back')) ind = 0; // go to slide index 0
superSlider(ind);
});
function superSlider(ind){
var oneSlideWidth = $('.slide').width();
$('#allSlides').stop().animate({left: -(ind*oneSlideWidth) },700);
}
HTML :
<div id="slider">
<div id="allSlides">
<div class="slide"> <!-- index = 0 -->
Slide 0
<button class="linkSlide">Tile index 1</button> <!-- index = 0, add 1-->
<button class="linkSlide">Tile index 2</button> <!-- index = 1, add 1 -->
<button class="linkSlide">Tile index 3</button> <!-- index = 2, add 1 -->
</div>
<div class="slide"> <!-- index = 1 -->
Slide 1
<button class="back">Back to 0</button>
</div>
<div class="slide"> <!-- index = 2 -->
Slide 2
<button class="back">Back to 0</button>
</div>
<div class="slide"> <!-- index = 3 -->
Slide 3
<button class="back">Back to 0</button>
</div>
</div>
</div>
CSS:
#slider{
position:relative;
width:100px;
height:95px;
background:#eee;
text-align:center;
overflow:hidden;
}
#allSlides{
position:absolute;
left:0;
width:9999px;
height:95px;
}
.slide{
position:relative;
width:100px;
height:95px;
float:left;
}
探索jQuery方法我用:
http://api.jquery.com/click/
http://api.jquery.com/index/
http://api.jquery.com/hasclass/
http://api.jquery.com/width/
http://api.jquery.com/stop/
要使用而不必'.linkSlide1'此解決方案,'。 linkSlide2'等,你應該只有一個'.linkSlide'類用於所有元素,並使用'data-attribute'來表示數字。 – dfsq
謝謝soooooo !!有效 :-))) – Laurent