Jquery设置间隔在wordpress中不起作用

时间:2014-11-03 07:06:26

标签: jquery wordpress

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不起作用。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

直接传递函数:

setInterval(swapImages, 5000);

传递字符串不是推荐的方法。


您的代码无效,因为swapImages不是全局函数。将字符串传递给setInterval - e..g。 "swapImages()" - requires that the function is globally definedwindow.swapImages = function () { ... })。

(function () {
    function foo() {
        console.log(1);
    }
    setInterval("foo()", 100); // foo is not defined
})();

这就是you have to pass the real functionan anonymous function that will call your function

的原因

对于来自JSFiddle的链接,打开开发工具窗口(按 F12 )并转到控制台。

答案 1 :(得分:0)

setInterval(function(){
   swapImages()
},5000);

试试这个