所以我对这个脚本有疑问。它基本上是在任何调整大小事件上加载脚本。
I have it working if lets say...
- User has window size above 768 (getScipt() and content by .load() in that script)
- Script will load (and content)
- User for some reason window size goes below 768 (css hides #div)
- User re-sizes again above 768, And does not load the script again! (css displays the div)
伟大的。工作正常。
Now.. (for some cray reason)
- User has window size below 768 (Does NOT getScript() or nothing)
- User re-sizes above 768 and stops at any px (getScript and content)
- User re-sizes again anything above 768 (It getScript AGAIN)
我需要它只获取一次脚本。我从这里使用了一些代码
(编辑 - 我发现了这个,他遇到了加载脚本一次的同样问题。)
$(window).resize 中的函数问题 - 使用 jQuery 和其他我丢失了链接:/
当我第一次发现这个问题时,我正在使用类似的东西,然后我添加了 allcheckWidth() 来解决问题。但事实并非如此。
var $window = $(window);
function checkWidth() {
var windowsize = $window.width();
////// LETS GET SOME THINGS IF IS DESKTOP
var $desktop_load = 0;
if (windowsize >= 768) {
if (!$desktop_load) {
// GET DESKTOP SCRIPT TO KEEP THINGS QUICK
$.getScript("js/desktop.js", function() {
$desktop_load = 1;
});
} else {
}
}
////// LETS GET SOME THINGS IF IS MOBILE
if (windowsize < 768) {
}
}
checkWidth();
function allcheckWidth () {
var windowsize = $window.width();
//// IF WINDOW SIZE LOADS < 768 THEN CHANGES >= 768 LOAD ONCE
var $desktop_load = 0;
if (!$desktop_load) {
if (windowsize < 768) {
if ( $(window).width() >= 768) {
$.getScript("js/desktop.js", function() {
$desktop_load = 1;
});
}
}
}
}
$(window).resize(allcheckWidth);
现在我使用这样的东西更有意义?
$(function() {
$(window).resize(function() {
var $desktop_load = 0;
//Dekstop
if (window.innerWidth >= 768) {
if (!$desktop_load) {
// GET DESKTOP SCRIPT TO KEEP THINGS QUICK
$.getScript("js/desktop.js", function() {
$desktop_load + 1;
});
} else {
}
}
if (window.innerWidth < 768) {
if (window.innerWidth >= 768) {
if (!$desktop_load) {
// GET DESKTOP SCRIPT TO KEEP THINGS QUICK
$.getScript("js/desktop.js", function() {
$desktop_load + 1;
});
} else {
}
}
}
}) .resize(); // trigger resize event
})
Ty 以备将来响应。
编辑-举个例子,在desktop.js中,我有一个在“abc”内容之前加载的gif,由.load()插入。调整大小时,此 gif 将显示,并且 desktop.js 中的 .load() 将再次触发。因此,如果 getScript 只被调用一次,它不应该在 desktop.js 中再次执行任何操作。令人困惑?