2011-04-27 81 views
2

我已经编写了一个快速jQuery代码片段,以自动淡入/淡出一组div,并以预设的时间间隔。我的代码如下所示:使用jQuery淡入/淡出和暂停鼠标

HTML

<div id="container"> 
<div> 
     <p>Lorem ipsum dolor sit amet.</p> 
</div> 
<div> 
     <p>Lorem ipsum dolor sit amet.</p> 
</div> 
<div> 
     <p>Lorem ipsum dolor sit amet.</p> 
</div> 
</div> 

JAVASCRIPT

function InOut(elem) 
{ 
elem.delay() 
.fadeIn(600) 
.delay(5000) 
.fadeOut(600, 
    function(){ 
     if(elem.next().length > 0) 
      { InOut(elem.next()); } 
     else 
      { InOut(elem.siblings(':first')); } 

     } 
    ); 
} 

$('#container div').hide(); 
InOut($('#container div:first')); 

是否有可能有这种效果停顿当用户鼠标悬停的在#container的内部的要素之一?我已经做了几次尝试,但都没有运气。

任何帮助将不胜感激!

回答

0

这应该工作:

function InOut(elem) 
{ 
elem.delay() 
.fadeIn(600) 
.delay(500) 
.fadeOut(600, 
    function(){ 
     if(elem.next().length > 0) 
      { InOut(elem.next()); } 
     else 
      { InOut(elem.siblings(':first')); } 

     } 
    ) 
    .mouseover(function(){ 
     $(this).stop(true, false); 
    }) 
    .mouseout(function(){ 
     InOut($(this)); 
    }); 
} 

$('#container div').hide(); 
InOut($('#container div:first')); 
+0

感谢您的答复!似乎在第一个鼠标悬停上工作,然后在随后的鼠标悬停上,div元素开始堆叠在一起并随机淡入/淡出。有任何想法吗? – ericalli 2011-04-27 17:43:26

+1

检查出来:http://jsfiddle.net/two7s_clash/XCxbL/1/最终导致多个div显示。 – 2011-04-27 17:44:06