Вот пример привязки к элементу и изменения CSS другого элемента в обработчике событий:
//bind a `click` event handler to the element with the ID of `button-id`
$('#button-id').on('click', function () {
//now select the `body` element and change it's CSS background property
$('body').css('background', 'url(/images/main-home-bg.jpg) center 600px no-repeat');
});
Обратите внимание, что .on()
является новым в jQuery 1.7 и совпадает с .bind()
вболее старые версии.
Если вы хотите изменить только положение фонового изображения, вы можете использовать свойство background-position
вместо свойства background
:
$('#button-id').on('click', function () {
$('body').css('background-position', 'center 100px');
});
Вотдемоверсия: http://jsfiddle.net/DkUwM/1/
Обновление
$(window).load(function() {
$("#contactArea").css('height', '0px');
$("a.contact").toggle(
function () {
$('body').css('background-position', 'center 600px');
$("#contactArea").animate({height: "225px"}, {queue:false, duration: 500, easing: 'linear'} )
},
function () {
$('body').css('background-position', 'center top');
$("#contactArea").animate({height: "0px"}, {queue:false, duration: 500, easing: 'linear'})
}
);
});
Здесь вы можете изменить положение background-image
, прикрепленного к элементу body
, при нажатии на элемент a.contact
.
Если вы хотите анимировать изменение свойства background-position
, вам нужно будет включить некоторый код, который обновляет jQuery, чтобы это можно было сделать: http://www.protofunc.com/scripts/jquery/backgroundPosition/
Вот примеранимация свойства background-position
:
$(window).load(function() {
$("#contactArea").css('height', '0px');
$("a.contact").toggle(
function () {
$('body').animate({
'background-position' : '50% 600px'
}, 500);
$("#contactArea").animate({height: "225px"}, {queue:false, duration: 500, easing: 'linear'} )
},
function () {
$('body').animate({
'background-position' : '50% 0'
}, 500);
$("#contactArea").animate({height: "0px"}, {queue:false, duration: 500, easing: 'linear'})
}
);
});
Вот демонстрационная версия: http://jsfiddle.net/DkUwM/4/
Обратите внимание, что вы можете использовать background-position-x
и background-position-y
, но они не поддерживаются в Firefox (они не включены в спецификацию W3C, но реализованы в Internet Explorer.