jquery定时改变item类

标签 jquery

是否可以根据某种类型的计时器更改项目类别或 ID?每隔 1500 毫秒,它会转到 hey-there-1,然后 1500ms 后变为 hey-there-2.. 等等,我可以控制它经历多少个间隔..

  • 嘿,那里
  • 嘿-那里-1
  • 嘿-那里-2
  • 嘿-那里-3
  • (回到开头)嘿,那里
  • 等等

谢谢

最佳答案

这样的插件功能将允许您做您想做的事情:

jQuery.fn.rotateClasses = function(classes, interval, max) {
    var currentRotation = 0;
    var timer = null;

    var rotateFn = (function() {
            var currentClass = currentRotation % classes.length;

        var previousClass = currentClass - 1;
        if(previousClass == -1) previousClass = classes.length - 1;

        this.addClass(classes[currentClass]).removeClass(classes[previousClass]);

        currentRotation += 1;

            if(max > 0 && currentRotation >= max) clearInterval(timer);
    })();

    timer = setInterval(rotateFn, interval);

    return this;
};

然后您可以使用以下命令简单地调用它:

$('#mydiv').rotateClasses(["class1", "class2", "class3"], 1000, 20);

只需根据需要修改参数即可。第一个参数是要旋转的类的数组,第二个参数是旋转它们的间隔,第三个参数是最大迭代次数。如果设置为0,它将无限迭代。

关于jquery定时改变item类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1263062/

相关文章:

jquery - 使元素在悬停时上下移动

javascript - JS 不断将我重定向到一个空页面

javascript - 对选择的选项发出警报

javascript - 与 Wordpress 的同位素 JS

javascript - jQuery 与 document.querySelectorAll

javascript - 使用 JQuery 将未格式化的 JSON 文本添加到 ACE Editor Div

jquery - 减小文本框中 Jquery 自动完成交叉的大小

jquery - 如何让 jQuery 找到第一个列表项,而不是所有列表项?

jquery可嵌套如何防止/拒绝掉落

jquery - 无法安装 jQuerybundle for eclipse aptana studio 3 插件已安装