Javascript对象修复了滚动



我有一个奇怪的错误。我在顶部有一个通过 CSS 修复的栏。简单。但是,在此栏中打开jQuery下拉列表是有问题的,因为当我这样做时,它不会滚动。下拉列表将保留在其当前位置。

所以,我试图用jQuery解决这个问题:

$(document).ready(function () {
    var dropdownMenu = $('.dropdownMenu'),
        top = $('#topMenu').height();
    $(window).on('scroll click', function () {
        $(dropdownMenu).css('position', 'fixed');
        $(dropdownMenu).css('top', top + 7 + 'px');
    });
});

如果我打开页面顶部的下拉菜单并滚动,它会按预期工作。但是当向下滚动并打开下拉列表时,它位于任何地方,而不是我期望的位置。一旦,当我滚动时,它会固定它的位置。

所以我的问题是,点击时,它会在错误的位置打开。不多也不少。

知道吗?

一个快速而肮脏的黑客:

$(function() {
    WCF.Dropdown.init();
$('.dropdownToggle').click(reposition);
$(window).on('scroll click', reposition);
});
function reposition() {
    var dropdownMenu = $('.dropdownMenu'),
        top = $('#topMenu').height();
    setTimeout(function() {
        $(dropdownMenu).css('position', 'fixed');
        $(dropdownMenu).css('top', top + 7 + 'px');
    }, 10);
}

相关内容

  • 没有找到相关文章

最新更新