Javascript 将类添加到div的Delay方法

Javascript 将类添加到div的Delay方法,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我正在尝试创建一种“滑块”。我在一个名为#slider的div中有9个项目 滑块的宽度为1860px,但一次仅显示620px(因为父项是溢出:隐藏的) 我想移动滑块的位置,在大约6秒的延迟后,一次显示另外3个项目。然后,它应该在另外6秒钟后再次移动,然后恢复 因此,我创建了两个类: .slideLeft620{ left:-620px; } .slideLeft1240{ left:-1240px; } 在标准之间设置动画(没有这个left值),我希望能够让内容看起来“滑动

我正在尝试创建一种“滑块”。我在一个名为
#slider
的div中有9个项目

滑块的宽度为1860px,但一次仅显示620px(因为父项是
溢出:隐藏的

我想移动
滑块的位置,在大约6秒的延迟后,一次显示另外3个项目。然后,它应该在另外6秒钟后再次移动,然后恢复

因此,我创建了两个类:

.slideLeft620{
    left:-620px;
}

.slideLeft1240{
    left:-1240px;
}
在标准之间设置动画(没有这个
left
值),我希望能够让内容看起来“滑动”

所以我想:

  • 6秒钟后,将class
    slideLeft620
    添加到
    slider
  • 再过6秒钟,移除
    slideLeft620
    并将
    slideLeft1240
    添加到
    滑块中
  • 再过6秒钟,移除class
    slideLeft1240
  • 这就是我试图开始做的(目前只是做第一件事),但我无法让它工作

    $("#slider").addClass("slideLeft620").delay(100);
    
    (我知道100是mo的一个随机值)

    你知道为什么这行不通吗?延迟应该在几分钟后调用.addClass

    编辑:建议致电。延迟优先似乎不起作用:

    $("#slider").delay(100).addClass("slideLeft620");
    
    delay()
    仅适用于添加到FX队列的jQuery方法,这基本上只是动画方法,它不适用于
    addClass
    ,您可以使用超时代替

    setTimeout(function() {
        $("#slider").addClass("slideLeft620");
    }, 100);
    

    我很确定你需要在上课前打电话给delay<代码>$(“#slider”).delay(6000).addClass(“slideLeft620”).delay(6000).removeClass(“slideLeft620”).addClass(“slideLeft1240”)@A1rPun谢谢你的建议,你试过这个但没有用?请参阅OP以了解更改。听起来,使用css3动画可能会更好-请查看这已经用了一千种方法完成了,jQuery.delay()将不是您唯一的延迟。只需选择一个类似于lookat的旋转木马。谢谢,我们已经添加了这个,但似乎仍然没有添加类:我相信如果您包括jQuery UI,它会起作用。。。它可以设置类的动画(),我希望上面的代码能够将类添加到slider中。谢谢,我们已经将jQueryUI添加到了fiddle中,它可以正常工作。你知道如何在上面添加幻灯片动画吗?以及如何在6次之后删除该类并与上述其他类交换?^如果您只是将jQuery添加到fiddle中,它会很好地添加该类。请注意,100毫秒是0.1秒,因此不会很明显。