【トラブル】コードエディタ利用時に、パターン反映がうまくいかない
問題
コードエディタ利用時に、パターン反映がうまくいかない
解決方法
ページ読み込みにおけるタイミングが原因でパターン反映が安定しない、チラつきが発生してしまうケースと、CSSのバッティングが原因のケースに分けて対応方法をご案内します。
ページ読み込みにおけるタイミングが原因でパターン反映が安定しない、またはチラつきが発生してしまうケース
コードエディタで作成されたパターンが反映したりしなかったり、チラつきが発生するケースがございます。原因としましてはページ読み込みにおけるタイミングの問題です。
こちらの事象が発生する場合、JavaScriptの setInterval() 機能を利用して、該当要素が認識され次第パターンを反映されるようにすると、事象を解決することが可能です。
/* タイマーを記述するので、複数のタイマーが記述しないように、既存のタイマーを解除する */
if (window.timerX) clearInterval(window.timerX);
/* タイマーを記述する */
window.timerX = setInterval(function() {
/* 要素確認IF条件を記述する */
if (vwo_$(“該当要素のCSSセレクター”).length) {
/* 要素が認識されたら、コードが繰り返さないようにタイマーを解除する */
clearInterval(window.timerX);
… 要素に反映したいコード …
}
}, 100); /* 100ミリ秒単位でタイマー内のコードが繰り返す */
Attention!
実装したい内容に合わせて、上記のコードをカスタマイズしてご利用ください。例えば複数の要素でそれぞれのタイマーを作成したい場合、 window.timerE1 と window.timerE2 でそれぞれタイマーを記述すれば可能になります。
CSSのバッティングが原因で、CSSが反映されないケース
コードエディタでCSSを追加する際に、CSSが反映されないケースがございます。
原因としましてはCSSの優先順位におけるバッティングが考えられます。CSSの !important 属性を利用することで、解決が可能です。
.example {
color: red !important;
font-size: 21px !important;
}