停止:: - webkit-progress-value动画

时间:2015-03-10 20:46:52

标签: javascript jquery css pseudo-element

如何通过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' });

1 个答案:

答案 0 :(得分:3)

据我所知,你不能用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;
}