【问题标题】:How do you animate a background position with jQuery?你如何使用 jQuery 为背景位置设置动画?
【发布时间】:2012-03-05 19:41:22
【问题描述】:

我一直在尝试为 div 的背景位置移动设置动画。 div 有一个背景并且有这样的东西:

<div class="uppermenu" style="background-position: 0px -80px;"></div>

所以,它工作正常,当我制作 mouseenter 时,我想更改背景位置,使其像 background-position:0px 0px,但它不起作用......我可以改变颜色和所有,但我不能移动背景。有什么办法吗?

我试过这样:

jQuery(this).children(".uppermenu").animate({"background-position": "0 85px"}, "slow");

还有这样的:

jQuery(this).children(".uppermenu").animate({
    'background-position-y': '45px',
    'background-position-x': '0px'
}, 100, 'linear');

他们都没有改变我的立场。怎么了?

【问题讨论】:

  • 为什么要将动画附加到 dom 的子对象而不是只使用 $('.uppermenu').animate
  • 因为我在父元素上制作了一个mouseenter ...所以,我需要在子元素上制作动画......

标签: jquery css animation background


【解决方案1】:

动画背景位置的语法是:

.animate({backgroundPosition:"(-20px 94px)"});

你也可以在http://archive.plugins.jquery.com/project/backgroundPosition-Effect使用插件

【讨论】:

  • 谢谢,我也试过了,还是不行,我去看看插件。
  • 您必须使用该插件,因为 jQuery 不能同时为 x 和 y 属性设置动画。这是better explanation
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-14
  • 1970-01-01
  • 2011-07-07
  • 2011-03-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多