ドーム準備ができたら、マウスが動いているかどうかを検出して、親divにクラス "has-hover"を付けます。CSS:動的に追加されたクラスを持つ要素でホバーが機能しない
内部には2つのラベルがあります。最初のものは、親divの「has-hover」クラスにホバー状態がアタッチされています。これは達成したい機能です。
2番目のラベルには、ホバー状態が直接付いています。
なぜホバー状態は2番目のラベルで機能しますが、最初のラベルでは機能しませんか?
ありがとうございます! CSSで
function watchForHover() {
\t var div = $(".div");
var hasHoverClass = false;
\t function enableHover() {
\t if (hasHoverClass) return;
\t \t div.addClass("has-hover");
\t \t hasHoverClass = true;
\t };
\t document.addEventListener("mousemove", enableHover, true);
};
watchForHover();
label {
width: 70px;
height: 70px;
margin: 5px;
color: white;
background-color: red;
transition: all 0.3s;
display: block;
}
.has-hover {
label:first-child:hover {
opacity: 0.5;
}
}
label:nth-child(2):hover {
opacity: 0.5;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="div">
<label>label 1</label>
<label>label 2</label>
</div>
私は、それはあなたが以下にあなたのセレクタを簡素化することができように誤解見えてる場合を除き:hover'、および 'オーバーホバリング時に、あなたのスタイルルールが適用されます:.has-ホバーラベル'親 '.div'がクラス' .has-hover'を持っている限り、ラベル ' – UncaughtTypeError
ありがとう@UncaughtTypeError。私は、例のために子供の擬似セレクタを使用しました。私がそれらを取り除いて、ただそこに残すなら、どちらかといえば働いていないでしょう...それについての説明はありますか? – metaskopia
私はちょうど '.has-hoverを試しました ラベル:ホバー{ 不透明度:.5; } 'をブラウザのIDEでコードスニペットの例を使用して、期待通りに機能しました。あるいは何かを達成しようとしていますか? – UncaughtTypeError