本帖最后由 qq35610 于 2012-01-17 11:03:04 编辑

解决方案 »

  1.   

    window.t = setInterval(......).....clearInterval(window.t)
      

  2.   


      <script src="jquery.js"></script>
    <script type="text/javascript">
    sn1 = function() {  
    var $firstNode = $('#marqueeul1parent ul');  
    var linum1 = $('#marqueeul1parent').find('li').length - 1;  
    $(function(){
    $firstNode.eq(0).fadeOut('slow',function(){  
    $(this).clone().appendTo($(this).parent()).fadeIn('slow');  
    $(this).remove();
    $firstNode.eq(linum1).hide();
    });
    });
    }
    //lz你再搜下setInterval的详细用法,我在你代码基础上改了下:
    $(document).ready(function(){     
     var timer=setInterval(sn1,6000);
     $('.marqueeul1').hover(function(){
      clearInterval(timer);
      },
      function(){
       timer=setInterval(sn1,6000);
      });
    });
    </script>  
    <div id="marqueeul1parent">
      .......
    </div>
      

  3.   


    clearInterval函数改为clearTimeout函数就可以了。
      

  4.   

    应该设置一个 变量来存储 setInterval ,楼主的clearInterval没有起到作用的原因是clearInterval的并非是开始设定的setInterval ;
    var IntervalOBJ;
    sn1 = function() { 
            var $firstNode = $('#marqueeul1parent ul'); 
            var linum1 = $('#marqueeul1parent').find('li').length - 1; 
            $(function(){
                    $firstNode.eq(0).fadeOut('slow',function(){ 
                    $(this).clone().appendTo($(this).parent()).fadeIn('slow'); 
                    $(this).remove();
                    $firstNode.eq(linum1).hide();
            });
    });
    }
    $(document).ready(function(){
        IntervalOBJ = setInterval(sn1,6000);
    });........$('.marqueeul1').hover(function(){
        clearInterval(IntervalOBJ);
    },function(){
        IntervalOBJ = setInterval(sn1,6000);
    });