浮动菜单在Chrome中不起作用?

时间:2010-08-03 21:43:19

标签: javascript jquery cross-browser

我正在尝试在用户滚动屏幕时构建一个跟随用户的浮动菜单:

    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 个答案:

答案 0 :(得分:2)

您可以使用position()offset()方法,而不是尝试从CSS解析菜单的顶部位置:

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

position()是相对于元素的偏移父项(即包含的#floatMenu),而offset()是相对于文档的。