span标记中的锚点应每5秒更改一次,但没有任何反应。
我已经测试过jQuery在WordPress中的作用,{j}文件顶部有alert("test");
。
<div class="img_ad"><span><a class="active"><img src="http://www.test.co.uk/wp-content/uploads/2014/10/client3.png" /></a>
<a><img src="http://www.test.co.uk/wp-content/uploads/2014/10/client1.png" /></a>
<a><img src="http://www.test.co.uk/wp-content/uploads/2014/10/client2.png" /></a></span><span></span><span></span>
</div>
-
jQuery(document).ready(function($) {
function swapImages(){
var $active = $('.img_ad').find("span:first").find(".active");
var $next = ($('.img_ad').find("span:first").find('.active').next().length > 0) ? $('.img_ad').find("span:first").find('.active').next() : $('.img_ad').find("span:first").find('a:first');
$active.fadeOut(function(){
$active.removeClass('active');
$next.fadeIn().addClass('active');
});
}
// Run our swapImages() function every 5secs
setInterval('swapImages()', 5000);
});
这段代码不起作用,我将alert("test");
放在函数swapImages()中,但没有任何反应。我认为setInterval不起作用。我该如何解决这个问题?
答案 0 :(得分:2)
直接传递函数:
setInterval(swapImages, 5000);
传递字符串不是推荐的方法。
您的代码无效,因为swapImages
不是全局函数。将字符串传递给setInterval
- e..g。 "swapImages()"
- requires that the function is globally defined(window.swapImages = function () { ... }
)。
(function () {
function foo() {
console.log(1);
}
setInterval("foo()", 100); // foo is not defined
})();
这就是you have to pass the real function或an anonymous function that will call your function。
的原因对于来自JSFiddle的链接,打开开发工具窗口(按 F12 )并转到控制台。
答案 1 :(得分:0)
setInterval(function(){
swapImages()
},5000);
试试这个