То, что я пытаюсь сделать, - установить глобальный тип переменной переменной типа «мобильный» или «рабочий стол» в соответствии с размером экрана.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);
});
Console Log "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
Благодаря
EDIT
Хочет сказать спасибо за всякие ответы. Окончательный ответ
Так что я создал IIFE только с настройкой по window.userScreen
объект
Get-User-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. –