jquery在多个背景上改变css背景位置

时间:2012-02-19 17:48:20

标签: jquery css background-position background-image

我正在尝试通过jquery根据分辨率更改元素的背景图像位置。代码:

var pwwidth = $(window).width();
var pwheight =  $(window).height();
var bg1posx = pwwidth - $('h1.portofolio').width();
var bg1posy = pwheight - $('.footer').height();
var bg2posx = $('.leftporto').width() - (pwwidth * 0.05);
var bg2posy = ($('h1.portofolio').height() / 2 ) + $('h1.portofolio').css('margin-top').replace('px', '');
$('#content4').css('background-position', bg1posx+'px' bg1posy+'px', bg2posx+'px' bg2posy+'px');

在CSS中,您可以更改元素的多个背景,如下所示:

background-position: 100px 200px , 300px 400px;
background-position: 10% 20% , 30% 40%;

我无法将其定义为使用jquery进行更改,因为这不起作用

$('#content4').css('background-position', bg1posx+'px' bg1posy+'px', bg2posx+'px' bg2posy+'px');

2 个答案:

答案 0 :(得分:0)

您的代码中存在语法错误(字符串连接不正确):

<强>为:

$('#content4').css('background-position', bg1posx+'px' bg1posy+'px', bg2posx+'px' bg2posy+'px');

不可

$('#content4').css('background-position', bg1posx+'px '+bg1posy+'px, '+bg2posx+'px '+bg2posy+'px');​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

答案 1 :(得分:0)

$("#your_div_id").css("background-position","-100px 0px, 0px 5px");

这将移动第一个背景(左侧100px) 和第二个(从顶部5px)

我使用这种技术来构建滑块倒计时 看看http://jsfiddle.net/UR5jC/