我已经编写了这个简单的代码,当窗口在799和800px之间时重新加载页面,但是它不起作用,有人知道为什么吗?
$(window).resize(function() {
if ( $(window).width() > 799 && $(window).width() < 800 {
location.reload();
} else {}
});
我还编写了这段代码,以便在页面重新加载后检查宽度是否低于800
if ($(window).width() < 800) {
// do some stuff
} else {}
我可能还可以使用一个函数,如果断点(f.ex:800px)被击中,任何想法只应切换一次?
答案 0 :(得分:2)
您应该使用>=
和<=
而不是>
和<
,如下所示:
$(window).resize(function() {
if ( $(window).width() >= 799 && $(window).width() <= 800 {
location.reload();
} else {}
});
> 799 && < 800
永远不会触发,因为799和800之间没有整数。
答案 1 :(得分:1)
我找到了解决方案:
var ww = $(window).width();
var limit = 800;
function refresh() {
ww = $(window).width();
var w = ww<limit ? (location.reload(true)) : ( ww>limit ? (location.reload(true)) : ww=limit );
}
var tOut;
$(window).resize(function() {
var resW = $(window).width();
clearTimeout(tOut);
if ( (ww>limit && resW<limit) || (ww<limit && resW>limit) ) {
tOut = setTimeout(refresh, 10);
}
});