setInterval和函数

时间:2011-04-23 19:06:16

标签: javascript jquery

我写了这个简单的函数:

HTML:

<div class="mhead">
 <div class="mTop"> 
   <a class="headline" title="" href=""> 
     <img alt="" src=""> 
     <span> </span> 
   </a> 
 </div>
<div class="tNav">
 <ul id="topt" class="tUl">
  <li title="http://www.site.com/761028497.jpg"> <a title="" href="">1</a> </li>
  <li title="http://www.site.com/761028497.jpg"> <a title="" href="">2</a> </li>
 </ul>
</div>

功能:

$.fn.inters = function (target) {
    this.find('li').hover(function () {
    var head = $(this).find('a').attr('title');
    var image = $(this).attr('title');
    var href = $(this).find('a').attr('href');
    $(target).find('img').attr('src', image);
    $(target).find('img').attr('alt', head);
    $(target).attr('href', href);
    $(target).attr('title', head);
    $(target).find('span').html(head);
}).eq(0).hover();}

$("#topt").inters('.headline');

我想在此脚本中添加setInterval

$(function() {
setInterval( "inters()", 3000 );
 });

但标题项目并没有改变。如何每3000毫秒更新一次inters功能?

提前致谢

2 个答案:

答案 0 :(得分:2)

您的setInterval会尝试每3秒调用一次inters()函数,这可能不是您想要的。

我想要执行的认为是以下几行:

$('#topt').inters('.headline');

如果你想这样做,你应该创建一个执行该行的函数,如下所示:

setInterval(function() {
    $('#topt').inters('.headline');    
}, 3000);

以上将每隔3秒拨打$('#topt').inters('.headline');

答案 1 :(得分:0)

你需要以这种方式做某事:

function foo(){
    $("#topt").inters('.headline');
}

setInterval(foo,3000);