ユーザーがマウスを特定の要素の上に移動すると、クラスを非表示にして表示することができました。しかし、私が実際に気に入っているのは、ユーザーが選択したdivだけでなく、画面上の任意の場所にマウスを移動したときに表示されることです。要素自体だけでなく、マウスが画面上のどこにでも移動したときにdivを表示する方法は?
これは私の現在のコードです:
$(window).on('mousemove', function() {
$('.barhide').addClass('show');
try {
clearTimeout(timer);
} catch (e) {}
timer = setTimeout(function() {
$('.barhide').removeClass('show');
}, 1000);
});
そして、私のCSS:
.barhide {
background: #333;
color: #fff;
display: block;
opacity: 0;
transition: all 1.5s ease;
}
.barhide.show {
opacity: 1;
display: none;
}
だから私は希望のものを3秒後、.barhideを持つクラスが隠され得るということであり、ユーザーの場合画面上でマウスを動かすと、要素の上を移動するのではなく、再び表示されます。
また、私はReactでこれらのことを行う方が簡単ではないかと思いましたか?
あなたが誤ってあなたが要素の上にマウスを動かし続けるならば、あなたはそれがすぐに原因古いタイムアウトに消え –
を削除しました@ RoryMcCrossanうん、私はコードの別の部分を見ていた。まだ目覚めていない!回答が更新されました。 –
を消去されていない/表示されて続けていることがわかります 'てclearTimeout()'コールすぎ –