我有以下html:
<div class="col-sm-12" id='dropdown_menu_group'>
<div id='dropdown_library_menu'>
<div class="row" id='dropdown_menu_row'>
<div class="col-sm-2">
<a class='button-text btn' id='library_button' href="{{pathFor 'library'}}">my library</a>
</div>
<div class='col-sm-2 col-sm-pull-1' id='google_drive_text'>
GOOGLE DRIVE
</div>
<div class="col-sm-2" id='settings_button'></div>
</div>
</div>
<div id='dropdown_library_menu_border'></div>
</div>
我的id='dropdown_library_menu'
默认是隐藏的,而<div id='dropdown_library_menu_border'></div>
下面的div的不透明度为0,因此当滚动时,它会使id='dropdown_library_menu'
向下滑动。但问题是,当菜单向下滑动时,<div id='dropdown_library_menu_border'></div>
仍然存在,因此,当我滚动触发slideDown的不透明度0 div时(此时菜单内部),它会欺骗我jQuery认为这个条件得到满足:
'mouseout #dropdown_library_menu': function(ev){
ev.preventDefault();
$('#dropdown_library_menu').slideUp('slow');
}
因为从技术上讲,我将鼠标移出下拉菜单并进入下拉菜单触发器。
我想在触发slideDown
时将空白div移动到菜单底部,但在父级上设置position relative
并在子级上设置position absolute
会让我感到困惑网页。