我在一个页面的行中有三个div,例如类.class1,.class2,.class3。
当用户鼠标进入任何一个div我要显示其他div(divA& divB)时,问题是我可以在函数中有多个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等但也没有快乐
这可能吗?
答案 0 :(得分: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();
});
});
答案 1 :(得分:1)
在jQuery中,您可以将选择器与,
分开,因此在您的情况下可以使用".class1, .class2"
之类的内容。
<强>更新强>
您可以通过将两个事件绑定到同一个回调来缩短代码,然后使用slideToggle()
代替:
$(function() {
$("body").on("mouseenter mouseleave", ".class1, .class2, .class3", function ()
{
$(this).children(".divA, .divB").slideToggle();
});
});
没有尝试过,但这在功能方面应该与您的代码相同。稍微短一些。