2010年6月2日

[jQuery]background-position在IE瀏覽器的問題

使用background-position這個屬性在IE瀏覽器中會產生一些問題
範例:




// 取得background-position屬性
$('.element').css('background-position');
在其他的瀏覽器中,我們可以正確取得background-position這個屬性,但是在IE中取得的屬性卻是undefined
主要的問題在於IE不認得background-position這個屬性,IE瀏覽器只認得background-position-x和background-position-y
因此可以利用這兩個屬性來取得正確的background-position
範例:




(function($) {
 $.fn.backgroundPosition = function() {
  var pos= $(this).css('background-position');
  if(typeof(pos) === ‘undefined’return $(this).css(‘background-position-x’) + ‘ ‘ + $(this).css(‘background-position-y’);
  else
   return pos;
 };
})(jQuery);
接下來就可以呼叫backgroundPosition這個function來取得backgroundPosition的屬性了
範例:


// 取得background-poisition屬性
$(‘.element’).backgroundPosition();

2 則留言:

庚申猴 提到...

var pos= $(this).css('background-poisition');

*** css參數名稱多了一個 i ***

Shell 提到...

謝謝,我修正了^^"