这是我的代码:
<div class="container">
<div class="prova">1</div>
<div class="prova">2</div>
<div class="prova">3</div>
</div>
我想每 500 毫秒获取每个 div 的内容。当我到达第三个位置时,返回到第一个位置,依此类推。一个圆形next()
.
尝试过:
var primoElem = $('.prova').first();
setInterval(function () {
console.log(primoElem.html());
primoElem = primoElem.next();
}, 500);
但我只得到 3 个结果,然后就停止了。
当 jQuery 函数无法按您想要的方式工作时,您可以随时通过保存旧函数并覆盖它来根据需要更改它。或者,如果您不想更改 jquery 行为,也可以创建自己的函数。例如,为了覆盖,请在 jquery load 之后将其添加到代码中:
$.fn.oldNext = $.fn.next;
$.fn.next = function(selector){
var selector = selector || '';
return this.oldNext(selector).length ? this.oldNext(selector) : this.siblings(selector).addBack(selector).first();
}
然后你的代码就可以工作了。
如果您不想覆盖,只需更改名称:
$.fn.loopNext = function(selector){
var selector = selector || '';
return this.next(selector).length ? this.next(selector) : this.siblings(selector).addBack(selector).first();
}
然后这样称呼它:
primoElem.loopNext();
小提琴:http://jsfiddle.net/EcnSH/ http://jsfiddle.net/EcnSH/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)