动画背景位置
任何人都知道为什么下面的方法不起作用。如果我直接设置 css 而不使用动画,它就可以工作。 //div.css( {backgroundPosition: "左下"} );
$("#menu li").bind("mouseover", function(){
var div=$(this).find('div');
div.css( {backgroundPosition: "bottom left"} );
div.stop().animate( {backgroundPosition: '25px 0px'}, {duration:500} );
})
.mouseout(function(){
var div=$(this).find('div');
div.stop().animate( {backgroundPosition: "0px 0px"}, {duration:500} );
});
Anyone know why the below would not work. If I just set the css directly without animate it works. //div.css( {backgroundPosition: "bottom left"} );
$("#menu li").bind("mouseover", function(){
var div=$(this).find('div');
div.css( {backgroundPosition: "bottom left"} );
div.stop().animate( {backgroundPosition: '25px 0px'}, {duration:500} );
})
.mouseout(function(){
var div=$(this).find('div');
div.stop().animate( {backgroundPosition: "0px 0px"}, {duration:500} );
});
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
你必须在 IE 中设置backgroundPosition的初始值,否则这将不起作用,因为它不知道如何设置动画。
另外,我会将鼠标悬停和鼠标悬停更改为具有相同的样式,不使用绑定 onone 并在另一个上使用鼠标悬停,
就像我的示例中这样:
you have to set the initial value of the backgroundPosition in IE otherwise this wont work because it doesn't know how to animate.
also i would change the mouseover and mouseout to have the same style not using bind onone and using the mouseover on the other like in my example
like this:
试试这个
Try this