//动态公告
    var n=0;  
    var m=0 
    function bulletin(){
  
     $(function(){
                    
        var $firstNode = $('#bulletin>ul>li'); 
    
        $firstNode.eq(n).fadeOut('slow',function(){  
    
        $firstNode.eq(n+1).fadeIn("slow"); 
        m++;
        if(m>=$('#bulletin>ul>li').length)
        {
            n=0;
            m=0;
            $firstNode.eq(0).fadeIn('slow');
        }
        else
        {
            n++;
        }            
        });
      });
   }
   setInterval('bulletin()',2500);
    
    
//动态排行榜
    var s=0;
    function topsearch(obj){
     $(function(){
        var list = $(obj).get();  
        if(list.length==0) return;
        if(s%2==0){
            for(var i=0;i<10;i++){
                $(list[i]).toggle('fast');
                $(list[i]).slideUp('slow');
            }
            for(var j=10;j<20;j++){
                $(list[j]).slideDown('slow');
            }
        }else{
            for(var i=0;i<10;i++){
                $(list[i]).toggle('slow');
                $(list[i]).slideDown('slow');
            }
            for(var j=10;j<20;j++){
                $(list[j]).slideUp('slow');
            }
        }
        s++;
        if (s>200000) s=0;
     });
   }
   setInterval('topsearch("#top_search_txt_cont>li")',5000);
   var g=0;
    function topgroups(obj){
     $(function(){
        var list = $(obj).get();  
        if(list.length==0) return;
        if(g%2==0){
            for(var i=0;i<10;i++){
                $(list[i]).toggle('fast');
                $(list[i]).slideUp('slow');
            }
            for(var j=10;j<20;j++){
                $(list[j]).slideDown('slow');
            }
        }else{
            for(var i=0;i<10;i++){
                $(list[i]).toggle('slow');
                $(list[i]).slideDown('slow');
            }
            for(var j=10;j<20;j++){
                $(list[j]).slideUp('slow');
            }
        }
        g++;
        if (g>200000) g=0;
     });
   }
   setInterval('topgroups("#top_groups_txt_cont>li")',5000);
当单独运行其中一个的时候,都没有问题,如果同时启用,则会出现混乱,表现为显示顺序不为预定顺序,而且有些随机性,有时候还会出现比较长的延时,我估计是3个计时器互相干扰造成的。
或者说是由于后两个中有循环,当第一个计时器开始运行的时候,后面的循环没有结束,所以造成了等待?
请给出解决思路,我想知道原因。
这个脚本是jQuery的。

解决方案 »

  1.   

    还有,关于firefox中计时器的相关信息,该去哪里了解啊,我google了,没有结果-_-!
      

  2.   

    setInterval(function(){bulletin()},5000);每個都這樣調用看看
      

  3.   

    setInterval(function(){bulletin()},5000); 每個都這樣調用看看
    ======================
    问题还是没有解决,继续请教
      

  4.   

    改用window.setTimeout方式试试看。
      

  5.   

    好像三个setInterval都是全局的,在<body>里添加onload="aa();"
    function aa(){
    setInterval(...);
    setInterval(...);
    setInterval(...);
    }
    这样试试呢
      

  6.   

    var a = setInterval(...a);
    var b = setInterval(...b);