【发布时间】:2015-02-07 06:04:09
【问题描述】:
我希望我的导航表现得像一个“粘性导航”,而不是使用插件,所以我试图自己想出一个解决方案。
似乎最合适的做法是在条件语句中使用 jquery 更改所有 css 值。
这是我对这个问题的解决方案:
$(window).scroll(function() {
if($(document).scrollTop() > 50)
{
$('.site-header').css("height", "48px");
$('.site-title a').css("background-size", "45px 45px");
$('.genesis-nav-menu > li').css("line-height", "50px");
$('.genesis-nav-menu .sub-menu').css("top", "0").css("margin-top", "48px");
}
else
{
$('.site-header').css("height", "100px");
$('.site-title a').css("background-size", "101px 101px");
$('.genesis-nav-menu > li').css("line-height", "100px");
$('.genesis-nav-menu .sub-menu').css("top", "100").css("margin-top", "100px");
}
});
margin-top 有趣的事情是正确对齐子菜单。我确信有更好的方法来做到这一点。但是,我的问题是:有没有更高效的方法来做到这一点?
【问题讨论】:
标签: jquery css performance