无法使用 jquery 为图像设置动画

Posted

技术标签:

【中文标题】无法使用 jquery 为图像设置动画【英文标题】:Can't animate images with jquery 【发布时间】:2012-02-09 23:12:41 【问题描述】:

我不知道我是否遗漏了一些明显的东西,但是,我认为您可以在 jquery 中为图像制作动画?基本上我想达到类似http://jsfiddle.net/Qm2FG/ 的目标,但在这个网站上有价格标签http://nagomedia.blackflow.pl。

【问题讨论】:

是的,有可能。你尝试了什么?你有什么问题? 就像我写的那样,我正在尝试为价格标签设置动画nagomedia.blackflow.pl。但没有运气...... 你尝试了什么?你有什么问题? 【参考方案1】:

您只需使用您在问题中链接到的代码,但您需要在 html 文档中选择正确的元素:

$('.content').children('.main').children().hover(function() 
    $(this).stop(true, true).animate( top : "-=0.45em" , 150);            
, function() 
    $(this).stop(true, true).animate( top :"+=0.45em" , 150);
);

当我将此代码发布到您网站上的开发者控制台时,当我将鼠标悬停在您的标签上时,您的标签就会开始动画。

注意.stop() 的使用,这在使用-=+= 修饰符时很有用。

更新

您需要将 JS 放在 HTML 文档的末尾(我个人最喜欢的)或将代码放在 document.ready 事件处理程序中。您的代码正在尝试绑定到尚不存在的元素,因此没有发生绑定。

$(function () 
    $('.content').children('.main').children().hover(function() 
        $(this).stop(true, true).animate( top : "-=0.45em" , 150);            
    , function() 
        $(this).stop(true, true).animate( top :"+=0.45em" , 150);
    );
);

我喜欢将我的 JS 代码放在我的 HTML 文档的末尾,这样它们就不会阻碍页面的呈现。 CSS 位于 <head> 中,因此可以正确设置文档样式,并且 JS 放置在底部以便在设置 DOM 后运行。

【讨论】:

@MichałKorzeniowski 您需要将 JS 放在 HTML 文档的末尾(我个人最喜欢的),或者将代码放在 document.ready 事件处理程序中。您的代码正在尝试绑定到尚不存在的元素,因此没有发生绑定。检查我的答案以获取更新。 感谢您的时间和耐心:) 不客气。这些都是非常简单的问题,您可能想阅读入门 jQuery 文档或只是浏览 API 文档以了解在 jQuery 中做什么和如何做事:docs.jquery.com/Tutorials:Getting_Started_with_jQuery

以上是关于无法使用 jquery 为图像设置动画的主要内容,如果未能解决你的问题,请参考以下文章

jQuery Animate 图像抽动

动画背景图像

jQuery slideDown 无法正常工作

无法在 Swift 中使用时间延迟为 UIImage 设置动画

即使设置为 false,clipChildren 也无法正常工作?

无法使用带有样式组件的关键帧设置嵌套动画的样式