我建議你使用一個插件,因爲這比你可能意識到的要多。有許多插件在那裏對於這一點,這裏有一個列表,讓你開始:http://www.tripwiremagazine.com/2012/12/jquery-carousel.html
我修改你的Javascript,HTML和CSS,讓你在正確的方向指出:
http://jsfiddle.net/nf5Dh/2/
你需要一個容器contContent
,絕對定位,並且該容器在容器格內移動。您只需將元素浮動到contContent
以使它們彼此相鄰。
HTML:
<div id='cont'>
<div id="contContent">
<div id='i1'></div>
<div id='i2'></div>
<div id='i3'></div>
</div>
</div>
CSS:
#cont {
width: 50px;
padding-top: 10px;
background: blue;
height: 50px;
overflow: hidden;
position: relative;
}
#contContent {
height: 50px;
width: 150px;
position: absolute;
top: 0;
left: 0;
}
#contContent > div {
float: left;
display: inline-block;
height: 50px;
width: 50px;
}
#i1 { background: red; }
#i2 { background: green; }
#i3 { background: yellow; }
而且JS:
$("#contContent > div").click(function(){
$("#contContent").animate({left: "-=50px"},1000);
});
你可能會更好使用ul
而不是所有的div,這是至少在語義上是正確的,儘管在技術上不是必要的。
<div id="carousel">
<ul id="carouselContent">
<li id="slide1"></li>
<li id="slide2"></li>
<li id="slide3"></li>
</ul>
</div>
我可以用[谷歌圖表示例](http://jsfiddle.net/JSwth/)幫助您處理彼此相鄰的div事物。我的例子的關鍵部分是容器。 – BrOSs