我有以下列表如何提高/纠正我下面的技术来实现图像滑块
<div id="imgrt">
<ul id="if">
<li><img src="../pictures/album/20-c-44.jpg" /></li>
<li><img src="../pictures/album/21-c-44.jpg" /></li>
<li><img src="../pictures/album/u1-c-44.jpg" /></li>
</ul>
</div>
我有一个按钮,它的点击会由每个图像推到左边距动画。 什么我有点所做的就是为
function animateImages(iD, index) {
var j = passedIndex;
iD.children().each(function(index){
if (passedIndex == index)
jquery(this).animate(.........);
return (index+1);
});
}
var nextIndex = 0;
jquery('#next').click(function() {
nextIndex = animateImages(jquery('#li',nextIndex);
});
我的问题
- ,如果你发现这是一种不好的实现(ATLEAST猜的话,请改正如果错了),我在做功能调用animateImages,它除了查询列表中的jquery(this)元素并且在动画之后破坏之外什么也不做。我怎样才能有效地做到这一点?
在此先感谢。
[添加备注] - 刚刚注意到jquery.each()的最后部分,他们提到要尽早退出。基本上我想在循环中尽早退出,但早期是在每次迭代之后。所以它会像返回(somthing)
请为此建议一些更好的方法。如上所述,当我点击一个按钮时,控件将跳转到animateImages函数,该函数将浏览列表中的元素,为图像设置动画并返回列表中的索引。在下一次单击时,它将转到相同的列表,并检查索引,并且如果索引与列表元素相匹配,则为其设置动画并返回新的索引,等等。
你能解释一下你正在寻找的行为吗? – JohnP 2011-05-15 10:17:44
“每个列表元素之后的”break“是什么意思? 'break'(在有语言的语言中)用于早期退出循环结构......每次迭代后都不能这样做,因为一旦“break”就不会有更多迭代... – verdesmarald 2011-05-15 10:18:22
为什么你想要“打破”?这是否意味着你总是想在第一次迭代之后停止?为什么不选择第一个元素然后进行动画处理? (顺便说一句,你只需要仔细阅读$ .each'的文档,然后你就知道如何退出;)) – 2011-05-15 10:19:09