我的jQuery函数有点问题。当window.width为<时,我需要为某个元素添加一个边距。 580px,我需要在window.width更大时删除它。这是问题,功能的第一部分工作得很好,而不是第二部分。
var Wwidth= $(window).width();
if ( Wwidth < 582) {
$( window ).resize(function() {
var nWwidth=$( document ).width();
var marginL = (nWwidth - 292)/2;
$('.hub-item').css('margin-left',marginL +'px');
});
}
else {
$( window ).resize(function() {
$('.hub-item').css('margin-left','0px');
});
}
我在控制台中没有任何错误,但边距不是0。 谢谢大家!
编辑: 正确的代码:
$(window).resize(function() {
var Wwidth= $(this).width();
if (Wwidth < 582) {
var nWwidth=$( window ).width();
var marginL = (nWwidth - 292)/2;
$('.hub-item').css('margin-left',marginL +'px');
}
else {
$('.hub-item').css('margin-left','0px');
}
});
全部谢谢!
答案 0 :(得分:3)
您需要将if
语句放在 $(window).resize()
函数中,并且每次都重新计算Wwidth
:
$(window).resize(function() {
var Wwidth = $(this).width();
if (Wwidth < 582) {
...
}
else {
...
}
});