【发布时间】:2012-02-09 17:24:22
【问题描述】:
为什么这不起作用
$("#right").click(function(){
$("#sliderWindow").find("img").each(function(i) {
var left = $(this).css("left");
$("#imageContainer" + i).animate({"left": "+=220px"}, "slow");
left = parseInt(left);
left += 220;
left = left + "px";
$(this).css("left",left);
left = $(this).css("left");
if(left === "1220px") {
//this is what doesnt work
$(this).css("left", "-320px");
}
我正在使用动画滑动一排 div。一旦最后一个 div 到达绝对位置 left:-1220px,将其移回起始位置 left:-320px。它正在移动到正确的位置,但我无法隐藏它。
编辑:我为隐藏的 div 设置动画的原因是因为动画似乎没有改变 css。因为 css 没有改变,所以我不能将最后一个对象滚回行的前面。由于我可以让 animate() 完成此操作,因此我试图隐藏最后一个 div 并让它出现在行的前面。
已解决:
$("#right").click(function() {
$("#sliderWindow").find("img").each(function() {
if (this.offsetLeft >= 1220) {
$(this).css("left", "-320px");
}
$(this).animate({left: "+=220px"}, "slow");
});
});
【问题讨论】:
-
能否贴出完整的代码
-
为什么要在隐藏时设置动画?有点违背了目的。
-
定义在哪里?它本身没有任何意义。你说的不起作用是什么意思?
-
真的,它没有任何意义,你想动画它,然后显示..你为什么不改变css属性然后显示它..你甚至不需要隐藏它,只需更改pos,效果一样
-
是的,这个问题现在没有多大意义,你会使用“编辑”链接并澄清它吗?
标签: javascript jquery css jquery-animate show-hide