2012-03-22 115 views
1

你好我試圖讓我的背景上下使用jQuery中的.animate()和.hover()方法動畫。在我的DOM中,我有一個ID爲「#menu」的div,其中包含一個UL列表,每個列表的背景都在不同的x位置,但y位置相同。我的困境是由於某種原因,我的變量不起作用。它回來的錯誤「無法讀取屬性‘1’的空值,這意味着它不存在背景位置變量不起作用

這裏是我的代碼:?

$("#menu li").hover(
function() { 
var xPos = $(this).css('background-position-x') 
$(this).animate({backgroundPosition: "("+ xPos + "0px)"}, 500); 

     } 
, 
function() { 
    var xPos = $(this).css('background-position-x') 
$(this).stop().animate({backgroundPosition: xPos + "35px"}, 500); 

      } 
); 
+0

你有一個最初在CSS中設置的背景位置嗎? – jessica 2012-03-23 02:17:02

回答

0

你可以嘗試,這可能是幫助你

其實默認值:0%0%在CSS背景屬性

$("#menu li").hover(
function() { 
var xPos = $(this).css('background-position') 
$(this).animate({backgroundPosition: "("+ xPos + "0px)"}, 500); 

     } 
, 
function() { 
    var xPos = $(this).css('background-position') 
$(this).stop().animate({backgroundPosition: xPos + "35px"}, 500); 

      } 
); 
+0

nope,不起作用,這裏的錯誤是當我把加法運算符我得到一個錯誤,xPos值返回爲「0px」就好,但它沒有將x和y值結合在一起。如果我用例如「20px」+「0px」替換xPos,它仍然給我無法讀取屬性'1'的空值「 – 2012-03-23 01:45:16

1

我發現了問題是變量,當我檢查lert(typeof xPos)它返回未定義。我需要將此答案轉換爲一個整數值只。