我需要<progress>
使用 JS (jQuery) 调整 HTML5 -Bar 的转换时间,但我在 jQuery 中找不到正确的选择器。
我目前的尝试:
CSS
:
progress::-webkit-progress-value {
-webkit-transition: all 0.5s;
-moz-transition: all 0.5s;
-o-transition: all 0.5s;
-ms-transition: all 0.5s;
transition: all 0.5s; /* Works like a charm */
}
JavaScript
(没有成功):
// These lines do nothing when the progress value changes:
$(".progressSelectorClass[progress-value]").css({"-webkit-transition" : "all 6s"});
$(".progressSelectorClass > *").css({"-webkit-transition" : "all 6s"});
$(".progressSelectorClass").css({"-webkit-transition" : "all 6s"});
// This gets an error:
$(".progressSelectorClass::-webkit-progress-value").css({"-webkit-transition" : "all 6s"});
有没有机会选择progress::-webkit-progress-value
in JavaScript(有或没有 jQuery)?
在这个 jsFiddle 你会更清楚地看到我试图做什么:http: //jsfiddle.net/rD5Mc/1/
更新:
我通过向 -element 添加/更改data-animation-time
参数<progress>
并创建了几个像这样的 css-classes 得到了一个丑陋的解决方法的效果:
progress[data-animation-time="5"]::-webkit-progress-value { -webkit-transition: all 5s; }
progress[data-animation-time="10"]::-webkit-progress-value { -webkit-transition: all 10s; }
progress[data-animation-time="15"]::-webkit-progress-value { -webkit-transition: all 15s; }
progress[data-animation-time="20"]::-webkit-progress-value { -webkit-transition: all 20s; }
progress[data-animation-time="25"]::-webkit-progress-value { -webkit-transition: all 25s; }
...
它有效,但我对我的解决方案非常不满意。一定会有更好的办法...