2013-07-31 4 views
2

У меня есть сценарий, который показывает различное содержание в зависимости от размера экрана, это выглядит следующим образом:Javascript window.onresize загрузки страницы

window.onresize = function(event) { 
if ((window.innerWidth > 750 && window.innerWidth < 1250)) { 

//Do something 

}} 

Вышеуказанные работы абсолютно нормально при повторной калибровки браузера. Мой вопрос: как я могу заставить выше работать, если пользователь открывает страницу с шириной окна, например, 750?

Я только что проверил это и очевидно, что событие не срабатывает, пока браузер не будет повторно размера, это вызывает выше, не работать

+0

Почему бы вам не использовать медиа-запросы? – taylorc93

+0

Я бы также рекомендовал медиа-запросы. Однако, если вы можете использовать библиотеку типа JQuery, это будет так же просто, как $ (document) .ready (function() {if (window.innerWidth == 750) {// Do Something} – Ishikawa91

+1

@ taylorc93 - мне нужно поддержка старых браузеров, поэтому – danyo

ответ

5
var onResizing = function(event) { 
if ((window.innerWidth > 750 && window.innerWidth < 1250)) { 

//Do something 

}}; 

window.onresize = onResizing; 
window.onload = onResizing; 
+0

спасибо Lwyrm, thats perfect! – danyo

+0

@ danyo надеюсь, вы понимаете ПОЧЕМУ это работает :) – 1nfiniti

1

Использование JQuery:

$(document).ready(function(){ 
    if (window.innerWidth == 750) { 
    // Do something 
    } 
}); 
0

Функция onresize - это прослушиватель событий, который срабатывает, когда пользователь изменяет размер своей страницы. Чтобы заставить ваш код работать при загрузке страницы, вам нужно настроить его для запуска события загрузки страницы (поскольку событие загрузки страницы - это другое событие из события изменения размера).

window.onload = function(event) { 
    if ((window.innerWidth > 750 && window.innerWidth < 1250)) { 
     //Do something 
    } 
} 
+0

это не сделало бы того, что я намерен сделать и что-то сделать при изменении размера – danyo

+0

Тот факт, что вы проигнорировали это, просто доказывает, что вы не понимаете принятого решения:/ – 1nfiniti

+0

Я полностью понимаю ответ, вот почему я его запустил. Вы пропустили элемент изменения размера, который был основной частью вопроса. – danyo

Смежные вопросы