2012-02-19 184 views
0

我正在嘗試通過jQuery來根據分辨率更改元素的背景圖像位置。代碼:jquery更改多個背景上的css背景位置

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'); 

回答

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');​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

+0

我試過這個,它爲我創造了另一個錯誤。它說我在window.resize和document.ready上調用的函數沒有定義。只要我註釋掉你糾正的錯誤消失。任何原因? – Chris 2012-02-19 18:16:24

+0

你可以請發佈完整的JS和HTML代碼嗎?幫助會容易得多。 – papaiatis 2012-02-19 18:36:55

+0

我是否應該將我的代碼作爲答案發布,還是應該將所有內容全部在線,而不管它是否停止工作? – Chris 2012-02-19 18:41:01

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

這將移動1後臺(100像素左) :第二個(爲5px從頂部)

我正在使用這種技術來構建一個滑塊倒計時 看一看http://jsfiddle.net/UR5jC/