jquery 在按钮单击后重新启动动画

标签 jquery html

我有几行 Jquery:

$(document).on('click', '#clicked', function(e){
    e.preventDefault();
    $(".speech").css("animation-play-state", "running");
});

// Change text on click and reset animation
// 
$(document).on('click', '#clicked2', function(e){
    e.preventDefault();
    $('.speech').each(function() {
        var text = $(this).text();
        $(this).text(text.replace('I AM A WOOKIE!!', 'YOU CLICKED!')); 
    });
    setTimeout(function(){
        var redo= $('.speech');
        $("." + redo.attr(".speech") + ":last").remove();  
        // $(".speech").remove();  
        $(".speech").css("animation-play-state", "paused");
    }, 2000);
});

到目前为止,它的工作原理是当您单击#clicked 时播放动画。

然后单击#clicked2,然后更改字符串 I AM A WOOKIE!!你点击了!

然后我试图实现的是在超时功能之后它会重置回原始动画的开始。所以基本上是一个重置按钮,但我不确定如何到达那里。

有问题的行是:

setTimeout(function(){
    var redo= $('.speech');
    $("." + redo.attr(".speech") + ":last").remove();  
    // $(".speech").remove();  
    $(".speech").css("animation-play-state", "paused");
}, 2000);

其他一切正常。我只是不确定重置动画的正确语法,所以当您再次单击#clicked 时,它基本上是从头开始

https://jsfiddle.net/uLg99tsw/8/

最佳答案

您正在使用animation-play-state。为什么不使用 transitions?看看this只需在点击按钮时将您的过渡 CSS 类添加/删除到您的标记中。

关于jquery 在按钮单击后重新启动动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34873791/

相关文章:

javascript - 如何在 JavaScript 中实现字符串操作

javascript - 将多行文件内容批量存储为变量,并显示在html页面的文本区域

html - CSS 2 位置 :Fixed Elements weird behaviour

html - 这些字符是什么 : ⎲⎳?

html - wamp ssi 不工作

javascript - javascript ajax 请求中的回调

jquery - 使用基于百分比的图像垂直居中 div

javascript - 如何在ajax上初始化selectize?

jquery - 交叉淡入淡出动画

html - 调整 HTML 表单中按钮的高度