2

我在一行中有三个 div,其中包含 .class1、.class2、.class3 等类。

当用户鼠标进入我想显示其他 div(divA 和 divB)的任何一个 div 时,问题是我可以在函数中有多个 div 吗?

这是我到目前为止所拥有的,对于一个效果很好的 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();
});
});

我希望效果发生,但如果使用输入 .class1、.class2 或 .class3

没有类似功能的三遍

我已经尝试过 .class1 && .class2 等但没有快乐,还有 .class1 || .class2 等但也没有快乐

这可能吗?

4

2 回答 2

4

在 jQuery 中,您可以,在您的情况下使用诸如此类的东西来分隔选择器".class1, .class2"

然后,jQuery 将寻找与这些选择器中的一个或多个匹配的元素。

更新:

您可以通过将两个事件绑定到同一个回调来稍微缩短代码,并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 回答