javascript - 使用 Jquery 正确地为多个元素设置动画

标签 javascript jquery html css animation

可能我没有为我的问题选择最好的标题,很抱歉。

我对 jQuery 很陌生,因此对动画很陌生。 我只是在试验它,但现在我遇到了问题。

脚本按我想要的方式工作,但它似乎有点“错误”,我打赌我的代码没有优化,根本...另外我可能使用了错误的方法来实现我想要什么。

一个按钮触发脚本(它不应该像最后那样,但暂时我正在使用这个按钮来触发脚本),它就像一个“切换”,每次我点击“显示” ",显示一堆 HTML 并运行两个动画:

 $(".achievement_container").hide(300).show(); //shows the whole container
 $(".glow").fadeIn(100).fadeOut(800); // First "brightening" effect

这个显示了整个“帧”,而另一个动画运行是为了照明效果:

$(".ach_hover").css("left", "0px").css("opacity", "1").animate({
            left: "252px",
            opacity: "0"
        }, 1100);

你可以在这里看到一个“有效”的例子:

http://jsfiddle.net/Frondor/6EA6W/

我的问题出现了在我多次点击“显示”按钮之后$(".ach_hover") 动画开始失败并且没有出现,根本... 我对我写最后这个动画的方式不满意,至少我认为可能有更好的和“标准”的方式来实现这一点。

因此,我非常感谢 jQuery 专家提出的“优化”我的脚本的任何建议,并避免其中出现任何错误行为。

提前致谢

最佳答案

尝试使用 jQuery .stop()

Stop the currently-running animation on the matched elements.

$(".ach_hover")
 .css({
        "left": "0px",
        "opacity": "1"
 })
 .stop()
 .animate({
        left: "252px",
        opacity: "0"
}, 1100);

Fiddle

关于javascript - 使用 Jquery 正确地为多个元素设置动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24503852/

相关文章:

javascript - 使用jquery取消确认后如何防止更改选择选项?

javascript - jplayer 无法在带有多个音频文件的 Chrome 中工作

javascript - 重置按钮并启动倒数计时器

javascript - jQuery 滑动一个 div

javascript - 如何像ng-click一样在ng-model中传递参数

javascript - 附加的文本节点在 jQuery 中似乎有不正确的(可能是克隆的?)父节点

javascript - jQuery Serialize 与 Bootstrap 单选按钮组间歇性工作

javascript - Google map 在页面加载时未初始化

javascript - 使用 Javascript 地理定位 API,语法错误 : Unexpected Identifier in Chrome's Javascript console

javascript - 用 class.onclick 改变字形