张经纬的博客 -

jQuery 取得 background-position 的值

如果想单独取background-position的X值或Y值,IE里可以通过私有属性background-positionX或者background-positionY取得,但是非IE浏览器无法通过这个属性取得。

查阅了参考资料,整理出如何获得XY的通用方法,我在IE6 IE7 IE8 FF3 Opera Chrome上测试没有问题。

函数一、先通过jQ取得XY。

(function($) {
jQuery.fn.backgroundPosition = function() {
  var bgPosition = $(this).css('background-position');
  if(typeof(bgPosition) == 'undefined') {
	  return $(this).css('background-positionX') + ' ' + $(this).css('background-positionY');
  }else{
	  return bgPosition;
  }
};
})(jQuery);

函数二、单独取它们的X值或Y值
X值:$(‘#Element’).backgroundPosition().split(” “)[0];
Y值:$(‘#Element’).backgroundPosition().split(” “)[1];

原文链接|

目前 共有 3 条评论 ,点此发表评论

  1. Jerry

    四月 8th, 2010 @ 17:08

    沒太看得懂,特别是“jQuery.fn.backgroundPosition = function() ”,跟后边的函数有什么关系?

    回复

    张经纬 reply on 四月 8th, 2010 18:40:

    @Jerry,我没有太明白您的话。
    backgroundPosition就是jQuery对象扩展的一个方法。。

    回复

  2. 赵旭东

    六月 11th, 2011 @ 07:46

    正好需要这个功能,非常感谢。

    回复