【发布时间】:2013-03-06 03:12:09
【问题描述】:
以下代码应仅在 768 像素以上的屏幕尺寸上触发一次(在加载和调整窗口大小时):
$('.content').css('margin', parseInt($('.banner').css('height')) + parseInt($('.content').css('margin')));
我不希望它在尺寸低于 768 像素时触发。这不起作用,因为它会在调整大小时多次触发并且不会将其删除到 768px 以下:
$(function() {
$(window).resize(function() {
if($(this).width() >= 768) {
$('.content').css('margin', parseInt($('.banner').css('height')) + parseInt($('.content').css('margin')));
}
});
});
Codepen:http://codepen.io/anon/pen/zgxir
有人有解决办法吗?
【问题讨论】:
-
我不确定您是否可以将 $(this) 用于 $(window),您尝试过 if($(window).width() >=768) 吗?
-
您是否意识到
.resize()在最终用户调整大小操作期间被多次调用?在调整窗口大小时,您会得到许多中间点 - 它不仅仅是在最终大小时触发一次。 -
@jfriend00 是的,我知道。我不知道我是否应该使用
.resize()。但如果您将窗口大小调整到 768 像素以下,我不希望它触发。