我试图在不使用插件的情况下使用 JQuery 实现幻灯片。我在一个列表中有三个 div,我希望每次单击下一个按钮时,当前 div 都会移出,下一个 div 会移入。不幸的是,当我单击下一个按钮时,列表中的所有三个 div 都移出。谁能帮我解决这个问题?我知道我可能需要一个循环来跟踪当前的 div,但我尝试了很多,仍然找不到正确的解决方案。我将不胜感激您的任何帮助!
这是我的html代码:
<body>
<div id="container">
<ul>
<li><div>Lucy</div></li>
<li><div>Karolin</div></li>
<li><div>Ashley</div></li>
</ul>
</div>
<div id="button"><img src="next.png" /></div>
这是我的 CSS 代码:
<style>
*{margin:0;padding:0;}
#container{
height:200px;
width:200px;
overflow:hidden;
margin-left:5%;
margin-right:5%;
margin-top:5%;
}
ul li {
float:left;
list-style:none;
position:relative;
}
ul li div {
float:left;
height:200px;
width:200px;
background-color:yellow;
position:relative;
}
#button {
position:absolute;
margin-top:10%;
}
这是我的 JQuery 代码:
<script>
$(document).ready(function(){
var currentDiv = $('ul li div');
var currentWidth = currentDiv.height();
var totalWidth = currentDiv.length * currentWidth;
$('ul').css({
width: function(){
return totalWidth;
}
});
$('#button').click(function(){
$(currentDiv).animate({
"margin-left":(-1*currentWidth)}, 1000)
});
});
非常感谢!