javascript - 使用 Jquery 停止 css 动画。这样做的正确方法是什么?

标签 javascript jquery html css css-animations

我刚刚在这样的页面上实现了 CSS 动画:

@-webkit-keyframes backdrop-roll{
    to { background-position-x:100%; }
}
body
{
background-image:url('http://www.wallmay.net/thumbnails/detail/20120331/pokemon%20fields%20ruby%201920x1200%20wallpaper_www.wallmay.com_2.jpg');
background-size: 800px 650px; 
-webkit-animation: backdrop-roll 8s linear infinite;
-webkit-animation-direction:normal
}

有一个按钮可以改变背景,我希望图像保持静止,所以我通过 Jquery 尝试了这个:

$('body').css('-webkit-animation-play-state','paused');

这就是我想到的,但出于某种原因,它反而阻止了一切工作。这对我来说是新的,所以我不确定要查找什么(我找到了如何使用 css 而不是 jquery 事件来停止它)。

最佳答案

我会像这样将动画播放状态属性放入它们自己的类中:

.play{
    -webkit-animation-play-state: running;
}
.pause{
    -webkit-animation-play-state: paused;
}

然后就可以使用jQuery来控制动画了:

$(document).ready(function(){
    $('body').addClass('play');

    $('#pause').click(function(){
        if($('body').hasClass('play')){
            $('body').removeClass('play');
        }
    });

    $('#resume').click(function(){
        if(!$('body').hasClass('play')){
            $('body').addClass('play');
        }
    });
});

这是一个例子:http://jsfiddle.net/F2nQM/

关于javascript - 使用 Jquery 停止 css 动画。这样做的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23371245/

相关文章:

javascript - jQuery 在 Internet Explorer 8 的 HTML 标签中插入 nodeIndex 属性

javascript - 如何将 csv 源文件拖放到 Dygraph Canvas 上?

javascript - 使用 JS 的复选框和过滤项目

javascript - Mutation Observer 未检测到文本更改

java - 从 JavaScript 检索数据的简单方法

html - 如何指示 Bootstrap 响应式表格在 iOS 上可滚动?

javascript - jquery 触发器 ('resize' ) 函数只工作一次吗?

javascript - 如何在不绑定(bind)的情况下更改为箭头函数?

javascript - 有没有办法从 JavaScript 中的字符串中删除 html 标签?

javascript - Html导出Excel - 浏览器直接保存Excel,无法以 "View"模式打开,使用IE9