下面这段代码我想加个settimeout事件延时执行出现和隐藏,应该不难,因为我不太懂jquery所以不知道在哪加,麻烦帮帮忙,非常感谢!$(document).ready(function() {
$('.cat-item-41').find('#tabcontentcontainer').find('.tabcontent').hide();
lengnm=$('.cat-item-41').length;
for (var i=0; i<lengnm; i++) {
$('.cat-item-41').eq(i).find('#tabcontentcontainer').find('.tabcontent').eq(0).show();
};
$('.cat-item-41').find('#tablist').find('dl').find('dd').children('a').mouseover(function() {   var aa=$('.cat-item-41').find('#tablist').find('dl').find('dd').children('a').index(this);
$(this).parent('dd').parent('dl').parent('#tablist').parent('.cat-item-41').find('#tabcontentcontainer').find('.tabcontent').hide();
$(this).parent('dd').parent('dl').parent('#tablist').parent('.cat-item-41').find('#tabcontentcontainer').find('.tabcontent').eq(aa).show();
});
});

解决方案 »

  1.   

    setTimeout()是设定一定的时间去执行一个函数或者表达式,你要做什么呢?
      

  2.   

    $('.cat-item-41').find('#tablist').find('dl').find('dd').children('a').mouseover(function() { 
    setTimeout(function(){
    var aa=$('.cat-item-41').find('#tablist').find('dl').find('dd').children('a').index(this);
    $(this).parent('dd').parent('dl').parent('#tablist').parent('.cat-item-41').find('#tabcontentcontainer').find('.tabcontent').hide();
    $(this).parent('dd').parent('dl').parent('#tablist').parent('.cat-item-41').find('#tabcontentcontainer').find('.tabcontent').eq(aa).show();
    },500);});
    查找节点最好直接通过ID来获取,该缓存的就缓存!你这样写,太恐怖了
      

  3.   


    貌似应该有clearTimeout的是吧
      

  4.   


    既然是mouseover时间中setTimeout的,那就是在鼠标mouseout离开clearTimeout即可
      

  5.   

    var timeoutID = -1;
    $.bind("mouseover", function(e){
       timeoutID = setTimeout(function(){
           //do anything you want
       }, 500);
    });
    $.bind("mouseout", function(e){
       clearTimeout(timeoutID);
    });