javascript - jQuery 动画点击多次

标签 javascript jquery jquery-animate

我目前正在构建一个网络应用程序,我需要在其中随机生成文本内容并在每次单击按钮时切换其颜色。

目前,我正在尝试为其添加某种动画,这是每次单击按钮时我希望获得的内容:

  1. 添加了随机类
  2. div 从页面底部弹出,不透明度增加

我准备了一个简化的 JSFiddle 来说明我的观点。

示例

http://jsfiddle.net/cdacx0tn/11/

var color = ["blue", "purple", "green"];

$("#try-me").click(function() { 
    var colorClass = color[Math.floor(Math.random()*color.length)];

    $("#content")
    .removeClass()
    .addClass(colorClass)
    .animate({
        "margin-top": "50px",
        "opacity": "1"
    }, 700);
});

我设法在单击一次按钮时完成此操作,但我不知道如何每次单击它。

我想补充一点,我不是专业开发人员,所以请多多包涵。

感谢您的帮助。

最佳答案

在动画之前设置元素的 CSS,使用 marginTop 确保它回到它的初始位置,并且使用 opacity 看不到它。

在它们中添加一个 stop() 以防止动画排队,然后就可以了:

var color = ["blue", "purple", "green"];

$("#try-me").click(function() { 
    var colorClass = color[Math.floor(Math.random()*color.length)];
    $("#content")
        .css({opacity:0,marginTop:200})
        .removeClass()
        .addClass(colorClass)
        .stop(true,false)
        .animate({
            "margin-top": "50px",
            "opacity": "1"
        }, 700);
});

JSFiddle

文档:

关于javascript - jQuery 动画点击多次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25283571/

相关文章:

javascript - typescript 库: Hide internal exports

javascript - jqGrid 返回 rowObject 未定义

javascript - 你如何JSON序列化一组隐藏的输入值(可以使用jQuery)?

javascript - 如何隐藏视频元素后面的 div?

点击时的 Jquery 动画

jquery - 自定义 "animate"jQuery 函数。如何重置步骤的 "now"变量?

javascript - 在浏览器中将字节数组显示为 pdf 我尝试了堆栈溢出中的几个选项,但它对我不起作用

jquery - this.id 与 $(this).attr ('id' )

javascript - 尝试使用 jQuery 获取 javascript 时的 TextField 值为空

jquery - 动画 backgroundPostion 总是返回 50%?