2

.class1、.class2、.class3 などのクラスを含むページに 3 つの div が並んでいます。

ユーザーのマウスが他の div (divA と divB) を表示したい div のいずれかに入ると、関数に複数の div を使用できますか?

これは私がこれまでに持っているもので、うまく機能する1つのdivについてです:

$(document).ready(function(){
$("body").on("mouseenter", ".class1", function ()
{
$(this).children(".divA").slideDown();
$(this).children(".divB").slideDown();
});

$("body").on("mouseleave", ".class1", function ()
{
$(this).children(".divA").slideUp();
$(this).children(".divB").slideUp();
});
});

use が .class1、.class2、または .class3 のいずれかに入ると、効果が発生するようにしたい

同様の機能なしで 3 回

私は .class1 && .class2 などを試しましたが、喜びもありません.class1 || .class2 などでも喜びはありません

これは可能ですか?

4

2 に答える 2

4

jQueryでは、セレクターを区切ることができ,ますので、あなたの場合は次のようになります".class1, .class2"

jQuery は、これらのセレクターの 1 つまたは複数に一致する要素を探します。

アップデート:

両方のイベントを同じコールバックにバインドすることでコードを少し短縮し、slideToggle()代わりに次を使用できます。

$(function() {
   $("body").on("mouseenter mouseleave", ".class1, .class2, .class3", function ()
   {
       $(this).children(".divA, .divB").slideToggle();
   });
});

試したことはありませんが、これは機能の点でコードと同等であるはずです。もう少し短いです。

于 2012-10-04T15:10:26.203 に答える
1

あなたは簡単に行うことができます

$(document).ready(function(){
$("body").on("mouseenter", ".class1, .class2, .class3", function ()
{
$(this).children(".divA").slideDown();
$(this).children(".divB").slideDown();
});

$("body").on("mouseleave", ".class1, .class2, .class3", function ()
{
$(this).children(".divA").slideUp();
$(this).children(".divB").slideUp();
});
});
于 2012-10-04T15:10:10.903 に答える