2017-02-16 24 views
0

Я использую этот скрипт для загрузки небольших или больших изображений в зависимости от ширины экрана.конвертировать javascript в jquery .width

<script> 
var jt_width = screen.width; 
//var jt_height = screen.height; 
if (jt_width < 361) {document.write('<div class="small-image"><img src="http://www.example.com/small-image.jpg" alt="small image alt"></div>') } else { document.write('<div class="large-image"><img src="http://www.example.com/large-image.jpg" alt="large image alt"></div>')}; 
</script> 

Недостаток заключается в том, что на мобильном телефоне он не меняется на лету, когда кто-то идет с портретной на альбомную, и я хочу использовать JQuery, чтобы сделать это.

Я читал онлайн о различных возможностях, например, используя window.outerWidth или .width(), и я понял, что .width() - лучшее решение с точки зрения совместимости браузера.

Я хотел бы преобразовать скрипт выше в jquery-версию, но так как я почти ничего не знаю о javascript, я не знаю, как это сделать. Это то, что у меня есть

function load(){ 
    w.value = $(window).width(); 
    h.value = $(window).height(); 
} 

Как я могу получить тот же результат, используя jquery?

+0

изменить на лету это работает в браузере при изменении размера окна? есть ли у вас прослушиватель событий onresize? –

ответ

0

Ваш новый скрипт не поможет ответить на скрипт. Вы должны добавить слушателя:

<script> 
var jt_width = screen.width; 
function doAThing() { 
    if (jt_width < 361) { 
    document.write('<div class="small-image"><img src="http://www.example.com/small-image.jpg" alt="small image alt"></div>') } else { document.write('<div class="large-image"><img src="http://www.example.com/large-image.jpg" alt="large image alt"></div>') 
    }; 
} 

doAThing(); 
window.addEventListener('resize', doAThing); 
</script> 

EDIT: Я уверен, что «размер» отлично работает для ориентации, но если вы проверить его, и это не работает хорошо, вы можете также добавить orientationchange прослушивателя на функция, а также:

window.addEventListener('orientationchange', doAThing);

+0

Я собираюсь попробовать это позже сегодня, но я не понимаю эту часть: «но если вы ее текст». Вы имели в виду "test"? – WendiT

+0

Да, сейчас редактирование. – thesublimeobject

+0

OK, спасибо. Я дам вам знать позже. – WendiT

0

Это реализация с помощью JQuery:

$(window).resize(function () { 
    var width = $(window).width(); 
    var height=$(window).height(); 
    /**on resize you can change your content or code based on your condition*/ 
}); 
/*This event will be triggered when the window size will change */ 
+0

Будет ли это работать, когда я изменю ориентацию своего мобильного телефона? – WendiT

+0

да, он должен работать –

+0

Я не могу заставить это работать. См. Здесь: https://jsfiddle.net/WendiT/akwufv0q/ Изображение вообще не загружается, и может быть, что я внедрил его неправильно. – WendiT