我在一个网站上工作,并且试图将所有度量值都以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/