Всплывающее меню не работает в Chrome?

Я пытаюсь создать всплывающее меню, которое читает пользователя, когда он прокручивает экран:

    menuYloc = parseInt($("#floatMenu").css("top").substring(0,$("#floatMenu").css("top").indexOf("px")));
    $(window).scroll(function() {
        var offset = menuYloc+$(document).scrollTop()+"px";  
        $("#floatMenu").animate({top:offset},{duration:500,queue:false});  
    });

Это работает превосходное в Firefox, но не работает в Chrome. Есть ли что-нибудь, что я пропускаю?

1
задан Legend 3 August 2010 в 21:43
поделиться

1 ответ

Вместо того, чтобы пытаться анализировать верхнюю позицию меню из CSS, вы можете использовать методы position () и offset () :

menuYloc = $("#floatMenu").offset().top;
$(window).scroll(function() {
    var offset = menuYloc+$(document).scrollTop()+"px";  
    $("#floatMenu").animate({top:offset},{duration:500,queue:false});  
});

position () относительно родительский элемент смещения (т.е. все, в чем содержится #floatMenu), тогда как смещение () относится к документу.

2
ответ дан 2 September 2019 в 22:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: