Я пытаюсь создать всплывающее меню, которое читает пользователя, когда он прокручивает экран:
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. Есть ли что-нибудь, что я пропускаю?
Вместо того, чтобы пытаться анализировать верхнюю позицию меню из 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), тогда как смещение () относится к документу.