【发布时间】:2015-03-21 06:38:45
【问题描述】:
我有一个固定在顶部的菜单。当我从顶部开始向下滚动页面 1px 时,我的固定菜单将改变样式。但是当我让网站响应并调整窗口大小时,最近添加的样式并没有消失(在第一次向下滚动和备份之后)。
希望这有点清楚。
这是我的 jQuery:
jQuery(document).ready(function(){
var scroll_pos = 0;
var windowWidth = jQuery(window).width();
if (windowWidth > 768) {
jQuery(document).scroll(function() {
scroll_pos = jQuery(this).scrollTop();
if(scroll_pos > 1) {
jQuery("nav").css('background-color', 'black');
jQuery("nav").css('padding', '10px 0px');
jQuery("nav").css('transition', '0.3s ease-in-out all');
} else {
jQuery("nav").css('background-color', 'rgba(0, 0, 0, 0.4)');
jQuery("nav").css('padding', '20px 0px');
jQuery("nav").css('transition', '0.3s ease-in-out all');
}
});
} else {
jQuery(window).resize(function() {
jQuery("nav").removeAttr("style");
});
}
});
我的 HTML 结构是这样的:
<div class="toggle">
<img src="images/menu.png">
</div>
<nav>
<ul>
<li><a href="#">link 1</a></li>
<li><a href="#">link 2</a></li>
</ul>
</nav>
感谢您的帮助
【问题讨论】:
-
附带问题:html
<nav>是什么?它是有效的 html 5 标签吗? -
把这个函数放在
$(window).resize(function() {});里面就可以了,因为ready做的是它在页面加载时检查窗口的大小,而不是在你调整它的大小时。 -
@ctf0:我试过了,但还是一样(我会更新,这样你就可以看到我做了什么)。谢谢你。
-
@JeroenBellemans:关于您的问题,这不应该是媒体查询(即在您的 css 中吗?)
标签: javascript jquery html css