2010-04-11 89 views
1

我遇到了奇怪的行爲,使用jQuery來顯示/隱藏菜單。在jQuery中顯示/隱藏菜單問題

我有一個絕對定位的股利,其中包含「activator」div(相對定位),我想透露moseover上的菜單。菜單div包含在激活器div中,並且也相對定位。我正在假設,因爲它被激活者包含,當鼠標移動到顯示的菜單中時,不會觸發滾降。當您滾動到顯示的菜單上時,即使在鼠標清除該區域後,顯示/隱藏也會開始跳動,並且會在一秒鐘左右開始。

CSS看起來像這樣

#myAbsolutePos { 
position:absolute; 
height:335px; 
width:213px; 
top:508px; 
left:0; 
z-index:2; 
} 

#activator { 
position:relative; 
height:35px; 
margin-top:95px; 
text-align:center; 
width:inherit; 
cursor:pointer; 
} 

#menu { 
position:relative; 
height:255px; 
width:243px; 
top:-45px; 
left:190px; 
padding:20px 25px 20px 25px; 
} 

#menuContents { 
width:190px; 
} 

jQuery的funcs中:

​​

HTML:

<div id="myAbsolutePos"> 
<div id="activator"> 
    // content 

    <div id="menu" style="display:none"> 
    <div id="menuContents"> 
    // content 
    </div> 
    </div> 
</div> 
</div> 

在行動中看到滾動的問題在當前的天氣位置(雷霆馬)這裏左下:http://www.karlsenner.dreamhosters.com/index.php

任何建議是最感謝!

回答

2

你可以嘗試:

$('#activator').hover(function() { 
    $('#menu').show('slow');  
}, function() { 
    $('#menu').hide('slow'); 
}); 
+0

謝謝!這解決了它! – jerrygarciuh 2010-04-11 16:51:28

+0

很高興我可以服務:) – mattbasta 2010-04-11 16:57:31

0

我從來沒有好運調整顯示/隱藏時間。代碼工作正常這樣做:

$('#weatherSelected').mouseover(function(){ 
    $('#weatherMenu').show(); 
}).mouseout(function(){ 
    $('#weatherMenu').hide(); 
}); 

我會建議的另一件事是不直接鏈接到他們的託管網站的腳本。它讓網站主人因爲竊取帶寬而對你生氣。因此,在您的網站上主持jquery循環插件,但使用谷歌的副本(因爲他們允許它)的jquery:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>