JS (jQuery) を使用して HTML5 <progress>
-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
JavaScript で (jQuery の有無にかかわらず)を選択する機会はありますか?
このjsFiddleでは、私がやろうとしていることをより明確に見ることができます: http://jsfiddle.net/rD5Mc/1/
アップデート:
-element にdata-animation-time
パラメーターを追加/変更することで醜い回避策で効果を得て、次のようないくつかの css-classes を作成しました。<progress>
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; }
...
それは機能しますが、私は自分のソリューションに非常に不満です。もっと良い方法があるはず...