【发布时间】:2014-07-27 15:52:10
【问题描述】:
我正在尝试创建一种“滑块”。我在一个名为 #slider 的单个 div 中的一行中有 9 个项目。
slider 是 1860px 宽,但一次只显示 620px(因为父级是 overflow:hidden)
我想移动slider 的位置,在大约 6 秒的延迟后一次显示另外 3 个项目。然后它应该在 6 秒后再次移动,然后返回。
所以我创建了两个类:
.slideLeft620{
left:-620px;
}
.slideLeft1240{
left:-1240px;
}
在标准之间动画(没有这个left 值)我希望能让内容看起来“滑动”。
所以我想:
- 6 秒后,将
slideLeft620类添加到slider - 再过6秒,删除
slideLeft620并将slideLeft1240添加到slider - 再过 6 秒,删除类
slideLeft1240
这是我试图开始的(目前只是做第一件事),但我无法让它发挥作用。
$("#slider").addClass("slideLeft620").delay(100);
(我知道 100 是一个随机值)。
知道为什么这不起作用吗?延迟应该在片刻之后调用 .addClass 吗?
编辑:建议先调用 .delay 似乎不起作用:
$("#slider").delay(100).addClass("slideLeft620");
【问题讨论】:
-
我很确定您需要在 addClass 之前调用延迟。
$("#slider").delay(6000).addClass("slideLeft620").delay(6000).removeClass("slideLeft620").addClass("slideLeft1240"); -
@A1rPun 感谢您的建议,尝试过但不起作用?有关更改,请参阅 OP。
-
听起来你可能会更好地使用 css3 动画 - 看看this post
-
这已经做了一千种方法,jQuery.delay() 不会是你唯一的延迟。只需选择一个轮播,例如查看owlgraphic.com/owlcarousel/#demo。
标签: javascript jquery html css