我好像不能让它工作。
$('#product_family_options_dd').animate({
height: '300px',
width: '900px',
backgroundPosition: '-20px 0px',
},高度和宽度是动画效果,而不是背景效果。
发布于 2011-10-08 08:28:44
如果你只是像这样使用不同的值,你不需要使用背景动画插件:
$('.pop').animate({
'background-position-x': '10%',
'background-position-y': '20%'
}, 10000, 'linear');发布于 2011-03-03 01:29:07
我猜这可能是因为它需要一个单一的值?
动画属性和值
除以下说明外,所有动画属性都应动画化为单个数值;大多数非数值属性不能使用基本jQuery功能进行动画处理。(例如,可以为宽度、高度或左侧设置动画,但不能设置背景色。)除非另有指定,否则属性值将被视为像素数。可以在适用的情况下指定单位em和%。
发布于 2013-01-08 23:46:53
由于jQuery不支持开箱即用,到目前为止我遇到的最好的解决方案是在jQuery中定义您自己的CSS hooks。本质上,这意味着定义自定义方法来获取和设置CSS值,这也适用于jQuery.animate()。
github上已经有一个非常方便的实现:https://github.com/brandonaaron/jquery-cssHooks/blob/master/bgpos.js
有了这个插件,你就可以这样做了:
$('#demo1').hover(
function() {
$(this).stop().animate({
backgroundPositionX: '100%',
backgroundPositionY: '100%'
});
},
function () {
$(this).stop().animate({
backgroundPositionX: '105%',
backgroundPositionY: '105%'
});
}
);对我来说,这在目前为止测试过的所有浏览器上都有效,包括IE6+。
我之前在网上放了一个快速的demo,如果你需要进一步的指导,你可以把它拆开。
https://stackoverflow.com/questions/5171080
复制相似问题