我在Javascript
中有一个功能,我需要每5秒重复一次。
以下是简单的代码:
function myFunk() {
$('body').addClass('polyonloaded');
setTimeout(myFunk, 5000);
}
myFunk();
它运行一次该函数,不再重复它。我的代码出了什么问题?
答案 0 :(得分:5)
您的代码正在运行;尝试打印一些东西:
function myFunk() {
$('body').addClass('polyonloaded');
console.log('hello');
setTimeout(myFunk, 5000);
}
myFunk();
问题:由于添加的类总是相同的,所以没有任何反应: 该课程已经添加;它不会再被添加。
如果您想添加,删除,添加,删除,等等,请使用toggleClass
:
function myFunk() {
$('body').toggleClass('polyonloaded');
setTimeout(myFunk, $('body').hasClass('polyonloaded') ? 4000 : 5000);
}
myFunk();
答案 1 :(得分:2)
似乎工作正常:
function myFunk() {
console.log('running');
setTimeout(myFunk, 1000);
}
myFunk();
答案 2 :(得分:2)
您必须添加和删除该类。
设置一个添加类的间隔,然后在下一个间隔之前设置一个内部超时等待删除它。
在这里分叉你的: http://codepen.io/snlacks/pen/KwoELp
$(document).ready(function() {
setInterval( function() {
$('body').addClass('polyonloaded');
setTimeout( function(){
$('body').removeClass('polyonloaded');
}, 4000)}, 5000 );
});