2013-05-05 49 views
0

我使用jQuery做了一個下拉菜單。在鼠標上輸入它打開,並在鼠標離開它關閉。jQuery MouseOver下拉列表旁邊推div div

的問題

菜單似乎 '推' 旁邊的其他元素。

的jsfiddle工作exapmle:http://jsfiddle.net/aXPVq/

HTML

<div id="floatingmenu"> 
    <h1>FLOATING MENU</h1> 
    <div style="display: none;"> 
     FLOATING MENU TEST<br /> 
     FLOATING MENU TEST<br /> 
    </div> 
</div> 
<br /> 
<br /> 
<br /> 
<br /> 
<br /> 
<div id="menu"> 
    TEST<br /> 
    TEST<br /> 
    TEST<br /> 
</div> 

JS

$(function() 
{ 
    $('#floatingmenu h1').mouseenter(function() 
    { 
     $(this).next().slideDown(100); 
    }) 
    $('#floatingmenu h1').mouseleave(function() 
    { 
     $(this).next().slideUp(100); 
    }); 
}); 

CSS

#floatingmenu 
{ 
    width: 300px; 
    float: right; 
} 
#menu 
{ 
    width: 300px; 
    float: right; 
} 

問題:如何停止菜單推送其他元素?

回答

1

所有這些浮起彼此混亂。

一個簡單的方法是把你的浮動菜單中position:relative和添加這些CSS:

#floatingmenu div{ 
    position:absolute; 
    top:100% 
} 

小提琴:

+0

不幸的是,我不能在浮動菜單上使用絕對定位,因爲它不在屏幕的絕對右側,而是位於具有固定寬度的容器的右側。 – bytecode77 2013-05-05 14:50:38

+0

我不關注你:/你能告訴我一個你想要的圖片嗎? – 2013-05-05 14:54:38

+0

Here:http://dev-ch.com/files/cfd604e9-f665-7582-216c-3afb3b836eaa/dropdownmenu.jpg - 如你所見,下面的菜單被推走 – bytecode77 2013-05-05 15:01:01

1

你可以給修復高度#floatingmenu股利。

+0

嘗試http://jsfiddle.net/aXPVq/8/ – 2013-05-05 14:56:01

+0

這只是一個很好的解決方案,當沒有背景色涉及。 – bytecode77 2013-05-05 14:58:27

+0

背景顏色與高度有什麼關係? – 2013-05-05 15:01:43