我希望只有在浏览器窗口高于或低于768px时才重新加载页面。 这是我失败的尝试。
if ($(window.width() > "769") {
$(window).resize(function () {
if ($(window).width() < "769") {
location.reload();
}
});
}
elseif($(window.width() < "769") {
$(window).resize(function () {
if ($(window).width() > "769") {
location.reload();
}
});
}
我确实这是一个非常简单的方法。
答案 0 :(得分:5)
重新加载页面的证据是(选项卡中的等待图标:D)生成随机数的Math随机数(在演示中)。
var ww = $(window).width();
var limit = 769;
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, 100);
}
});
超时功能有助于窗口调整大小等待100ms,然后再调用refresh
函数
您可以增加超时值以提高可用性。
答案 1 :(得分:3)
可能有其他更好的方式来做你真正需要的事情,但是:
if ($(window.width() > "769"){
应该是:
if ($(window).width() > 769){
完整代码:
var width = $(window).width();
$(window).resize(function() {
if (width > 769 && $(window).width() < 769) {
location.reload();
}
else if (width < 769 && $(window).width() > 769) {
location.reload();
}
});
可以使用一个if语句来创建,但我更喜欢将其拆分为两个,因此更容易理解。