jquery - 动画背景未按预期工作

标签 jquery jquery-animate background-position

我以前做过这样的事情,但现在对我不起作用......

我有一个容器 div,里面有一个带有部分透明图像的 div。当用户将鼠标悬停在容器 div 上时,我希望该 div 上的背景移动 0px -56px。我已经像平常一样使用 animate 尝试过此操作,但它不起作用。最初我的旧脚本在 1.6 中不起作用,所以我回到了 1.4.2,它没有什么区别,所以也许我的代码只是垃圾......

$('.trans_bg').css({"background-position":"0 0"});
$('.trans_bg').hover(
function() {
    $(this).animate({backgroundPosition: "(0px -56px)"},{duration:300}); 
},
function(){
    $(this).animate({backgroundPosition: "(0px 0px)"},{duration:300});
})

有什么想法吗?

最佳答案

您的代码几乎是正确的,只需在设置新位置时删除括号即可:

$('.trans_bg').css({ backgroundPosition: "0 0" });
$('.trans_bg').hover(function() {
    $(this).animate({ backgroundPosition: "0px -56px"}, 300);
}, function() {
    $(this).animate({ backgroundPosition: "0px 0px"}, 300);
});

但不幸的是,jQuery 无法原生设置背景位置动画。

但是有一个很棒的插件可以做到这一点:Background-Position Animation Plugin .

将其抓取到您的项目中,以便键入的代码开始工作!

关于jquery - 动画背景未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5951827/

相关文章:

javascript - 尝试在 before()/after() 插入部分元素时出现 jQuery bug?

jquery - 大图像背景的断断续续的动画

javascript - 使用预定义数组的随机值在时间间隔内对 "background-position"进行动画处理

javascript - 根据另一个自定义数组对数组中的对象属性进行排序

javascript - window.open 页面加载

javascript - 使用 jquery 设置动画时如何避免兄弟元素摇晃

jQuery 检查是否是最后一张幻灯片

css - WordPress 标题背景图像不响应且居中

css - 在 div 中定位背景图像以从特定点开始

javascript - 如何将 JavaScript 提示值传递给 View