2012-11-13 48 views
4

嗨,基本上我有一個元素,當我將鼠標懸停在它上面時,我有一個從底部向上滑動的div,當我停止在元素上徘徊時,div向下滑動。滑動切換jquery有時會卡住我不知道爲什麼

目前我有它的工作,但在奇數場合上下滑動的div卡住,上下滑動是顛倒的,我不知道爲什麼。相反,我的意思是當我沒有徘徊div元素顯示,然後當我徘徊它滑落。

讓元素停止這樣做的唯一方法就是刷新。

任何人都可以指導我解決這個問題嗎?

非常感謝

代碼: JAVA SCRIPT

 $(document).ready(function() 
     { 
     $("div.small_info_container").hover(function() 
     { 
      $(this).parent().find('div.small_slide_info_container').slideToggle("fast"); 
     }); 
     }); 

CSS:

.elem { 
width: 248px; 
height: 238px; 
margin: 10px 0 0 5px; 
float: left; 
border: 1px solid #ACACAC; 
background: white; 
box-shadow: 3px 4px 2px -2px #CACACA; 
-webkit-border-radius: 3px; 
-moz-border-radius: 3px; 
border-radius: 3px; 

} 

.small_info_container { 
position: absolute; 
width: 248px; 
height: 238px; 
background:transparent; 
} 

.small_slide_info_container { 
position: absolute; 
width: 248px; 
height: 45px; 
background: rgba(173, 173, 173, 0.36); 
display: none; 
bottom: 0; 
} 

HTML

<div class="elem"> 
    <div class="small_info_container"> 
     <div class="small_slide_info_container"> 
     </div> 
    </div> 
</div> 
+3

而不是觸發我想嘗試顯式地對'mouseenter'和'mouseleave'事件編碼'效果基本show()'和'了slideDown()'。在每張幻燈片之前可能會調用['.stop()'](http://api.jquery.com/stop/),這樣如果用戶將鼠標移動到其中,就不會獲得大量排隊的動畫並迅速出數倍。 – nnnnnn

回答

2

試試這個....

$(document).ready(function() 
      { 
      $("div.small_info_container").mouseover(function() { 
    $(this).parent().find('div.small_slide_info_container').stop().slideDown("fast"); 
       }).mouseleave(function(){ 
     $(this).parent().find('div.small_slide_info_container').stop().slideUp("fast"); 
      })  
      });​ 

DEMO: http://jsfiddle.net/mSWP8/7/

+0

嗨,感謝您的回覆。我實現了你的JS ...基本上在我的網頁上我有10個這樣的div叫做elem。但它似乎只適用於其中的一些:S,我不知道爲什麼。 divs不會卡住,但只是一些元素不工作,有些顯示div的一部分滑動:S – user1301430

+0

嘿,我刪除了stop(),它似乎已經修復了吸吮問題,它顯示所有元素!謝謝您的幫助! – user1301430

相關問題