У меня есть фон тела, который должен быть относительно элемента страницы (#container).При изменении размера страницы (меньшей ширины) контейнер перемещается влево (потому что он центрирован).Фон также должен двигаться влево с тем же количеством.
Теперь у меня есть следующий код, который работает для моей проблемы:
/*
* The background must be relative to the rest of the page elements.
* The background position.left = 0px when the offset.left of the container = 362.
* The new background position.left is based on the current position of the container.
*/
var beginBackgroundPositionLeft = 362;
function changeBackgroundPosition() {
var newLeft = jQuery("div.container").offset().left;
newLeft = (-1 * beginBackgroundPositionLeft + newLeft) + "px";
jQuery("body").css("background-position", newLeft + " 0px");
}
jQuery(window).resize(function(e){
console.log(e);
// Change the position of the background
// when resizing the window.
changeBackgroundPosition();
});
jQuery(document).ready(function() {
// Change the position of the background on entering the page..
// Is needed because we don't know the resolution of the user so it can't be done with css.
changeBackgroundPosition();
});
Работает нормально, но также выполняетсяпри изменении размера браузера по высоте.Как я могу проверить, изменен ли размер браузера по горизонтали, поэтому изменение высоты можно игнорировать?
Конечно, можно сохранить текущую ширину окна и проверить, изменилось ли это, но я ищу более удобный способузнать что-то, чего я еще не знаю;))!
Как видите, я записал 'e' функции изменения размера, но не могу найти в ней ничего полезного ..
Надеюсь узнать что-нибудь из ваших предложений.Спасибо!