は、それは非常に簡単です。
まず、すべてのパイにn-th-of-type
のすべてが必要なわけではありません。しかし、余分なクラス、例えば「アクティブ」が必要です。そうでなければJavaScriptでハイライトできません。
だから、あなたはCSSを.pieは次のようになります。
.pie.active:BEFORE,
.pie:hover:AFTER,
.pie:hover:BEFORE {
background-color: yellow;
opacity: 0.5;
}
次に、ここであなたは(onloadイベントで)必要なものないのコード例は次のとおりです。ここで
function highlight(el, delay) {
setTimeout(function() {
el.className += ' active'; //light it up
//un-highlight after delay:
setTimeout(function() { el.className = 'pie'; }, 200)
}, delay)
}
var divs = document.querySelectorAll('.pie');
for (var i = 0; i < divs.length; i++) {
highlight(divs[i], i*200);
}
はフィドルです: JSFiddle
これは、加算遷移によって少し滑らかにすることができます。上記のCSSにtransition: background-color 0.1s;
を追加し、すべてのプログラム遅延を200msにする。
遅延を実装するには、遅延式を使用して再生する必要があります。 i*200
はやや単純ですが、タイミングを変更するためのさまざまな数学関数を試してみることは楽しいものではありません。さらに、transition
cssを変更することもできます。要素をプログラム的に変更することはCSSよりも優先されます。あなたは簡単にそれをかなり現実的にすることができます。
私は興味がありましたが、最初の2つのセグメントのCSSでホバーの問題を解決しましたか?この派生のphiddleを見てください:https://jsfiddle.net/Exceeder/he5wg7jb/ –
私はjavascriptを使ってハイライトさえも浮かべることなくトリガーするので、とにかく問題ありません。とにかくあなたの時間をありがとう –