【问题标题】:Stop ::-webkit-progress-value animation停止 ::-webkit-progress-value 动画
【发布时间】:2015-03-10 20:46:52
【问题描述】:

如何通过 JS/Jquery 停止这个动画?

.progressLoading::-webkit-progress-value {
    box-shadow: inset 0 1px 1px 0 rgba(255, 255, 255, 0.4);
    border-radius: 10px;
    background:
    -webkit-linear-gradient(45deg, transparent, transparent 33%, rgba(0, 0, 0, 0.1) 33%, rgba(0, 0, 0, 0.1) 66%, transparent 66%),
    -webkit-linear-gradient(top, rgba(255, 255, 255, 0.25), rgba(0, 0, 0, 0.2)),
    -webkit-linear-gradient(left, #963a2d, #832417);    
    background-size: 25px 16px, 100% 100%, 100% 100%;
    -webkit-animation: move 5s linear 0 infinite;
}

@-webkit-keyframes move {
    0% {background-position: 0px 0px, 0 0, 0 0}
    100% {background-position: 100px 0px, 0 0, 0 0}
}

我试过这个没有成功:

$(".progressLoading::-webkit-progress-value").css({ '-webkit-animation-play-state': 'paused' });

【问题讨论】:

    标签: javascript jquery css pseudo-element


    【解决方案1】:

    据我所知,您不能使用 jQuery 选择伪元素,因为它们在技术上并不存在于 DOM 树中。

    一个选项是切换或向元素添加一个类:

    $(".progressLoading").addClass('paused');
    
    $(".progressLoading").toggleClass('paused'); // or toggle it
    

    然后您可以使用选择器.progressLoading.paused::-webkit-progress-value 选择元素并通过 CSS 暂停动画:

    .progressLoading.paused::-webkit-progress-value {
        -webkit-animation-play-state: paused;
        animation-play-state: paused;
    }
    

    【讨论】:

    • 是的,我也这么认为。您的示例完美运行。谢谢!
    猜你喜欢
    • 2019-10-18
    • 2013-07-30
    • 1970-01-01
    • 2021-04-22
    • 2011-09-27
    • 1970-01-01
    • 2013-12-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多