我在一个网站上工作,并且试图将所有度量值都以em为单位,但是我从一个旧项目改用的脚本似乎无法与em一起使用,它似乎只能与像素一起使用。

$(window).scroll(function(){
    $("#nav").css("top",Math.max(0,96-$(this).scrollTop()));
});


这是其功能的演示:

http://jsfiddle.net/hwRSF/1/

如果有人可以帮助我,告诉我我需要做什么,将不胜感激!

最佳答案

由于scrollTop()以像素为单位返回,因此您需要根据基本尺寸将其转换为em值。

对于这个特定问题,看起来您的基本大小是16,因此您只需要将像素除以16。

您的导航CSS:

#nav {
 ...
 top: 6em; /* 96 / 16 = 6*/
 ...
}


jQuery的:

$('#nav').css("top",Math.max(0,(96 - $(this).scrollTop())/16) + "em");


小提琴示例:http://jsfiddle.net/hwRSF/3/

关于javascript - 在jQuery脚本中使用em,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17667585/

10-12 12:22
查看更多