我想要做的是根據屏幕大小將全局變量點類型設置爲「mobile」或「desktop」。Javascript,獲取全局變量屬性
var userScreen = {}
if (screen is small){
userScreen.type === 'mobile'
}
else {
userScreen.type === 'desktop'
}
一切工作在同一個文件內,但我有得到userScreen.type問題在其他JavaScript文件可用。
屏幕size.js:
$(document).ready(function(){
var userScreen = {};
var resizeTimer;
$(window).on('resize load', function(e) {
clearTimeout(resizeTimer);
resizeTimer = setTimeout(function() {
var windowWidth = $(window).width();
if ($('body').height() < $(document).height()) {
var windowWidth = windowWidth + 15;
}
if (windowWidth < 768){
userScreen.type = 'mobile';
}
else{
userScreen.type = 'desktop';
}
}, 250);
});
另一-JS文件
$(document).ready(function(userScreen){
console.log(userScreen.type);
});
控制檯登錄 「userScreen.type」 的結果:
function(obj) {
if (obj == null) {
return obj + "";
}
// Support: Android<4.0, iOS<6 (functionish RegExp)
return typeof obj === "object" || typeof obj === "function" ?
class2type[ t…
負載訂購:
- 屏幕size.js
- 另一-JS-file.js
感謝
編輯
想說謝謝你大家的響應。最終的答案
所以我創建了一個IIFE只設置window.userScreen
對象
GET-用戶screen.js
window.userScreen = {};
function getScreenSize(){
var windowWidth = $(window).width();
if ($('body').height() < $(document).height()) {
var windowWidth = windowWidth + 15;
}
if (windowWidth < 768){
userScreen.type = 'mobile';
}
else{
userScreen.type = 'desktop';
}
console.log(userScreen.type);
}
(function(){
getScreenSize();
}());
這提供了全局變量來就像我想和消除超時問題引起了。一切都按預期工作。
再次感謝
的userScreen不是一個全局變量。它存在於$(document).ready作用域中。 –