当窗口宽度超过1439px时,我正试图让页面刷新。我知道这样做不好,但我需要在屏幕小于1439px时激活一个插件。我已经浏览了一下并且有几个实例可以工作,但刷新只是无限循环。
任何人都知道如何强制页面以1439px的速度刷新并仅运行一次?
谢谢!
答案 0 :(得分:0)
也许最好的选择是在URL中附加一个参数,以便不重新加载插件。像这样:
function getURLParameter(name) {
return decodeURI(
(RegExp(name + '=' + '(.+?)(&|$)').exec(location.search)||[,null])[1]
);
}
if($(window).width() === 1439 && !getURLParameter(noReload))
window.location.href = window.location.href + "?noReload=1&loadPlugin=1";
之后,您需要检查是否存在param loadPlugin并加载插件
答案 1 :(得分:0)
您根本不需要刷新页面。
$(window).load(function(){
var scrollPaneDone = false,
testScrollPane = function(){
if(scrollPaneDone || $(window).width() > 1439) return;
$('#someElement').jScrollPane();
scrollPaneDone = true;
};
$(window).bind('resize', testScrollPane);
testScrollPane();
});
说明:
首先,我们定义一个变量scrollPaneDone,它将存储我们是否已经初始化了jScrollPane插件。 (所以我们不会初始化它两次)
然后,我们定义一个函数来检查我们是否已经初始化了滚动窗格,或者如果窗口宽度大于1439,该函数将返回并且什么都不做。否则,我们将初始化jScrollPane插件并将我们的变量scrollPaneDone设置为true。
然后,我们将此函数绑定到window resize事件。然后调用该函数一次,以防万一窗口已经小于1439px,它将在页面加载时激活jScrollPane插件。