仅在子元素上使用jQuery slideDown()

时间:2011-03-13 10:46:12

标签: javascript jquery

提前原谅我,我骑着javascript短巴士:(

我在主导航上使用jQuery slideDown() / slideUp()有以下代码:

//jQuery slideDown for menu dropdowns
$('.menu').addClass('js-enabled')

$('.js-enabled li').hoverIntent(function () {
   $(".sub-menu").slideDown('slow');
 }, 
 function () {
   $(".sub-menu").slideUp('slow');
});

我的问题是代码不是.sub-menu的唯一,它是给定<li>的子代...有人可以告诉我如何使上述代码特定于{{ 1}}元素根据原始<li>目标悬停?

* 编辑:这是生产网站,展示了所有“.sub-menu”被效果动画的错误:http://valeriaentertainment.com.s66112.gridserver.com/ *

2 个答案:

答案 0 :(得分:3)

我假设在处理程序中你可以用this引用当前元素。然后,您可以使用.find()搜索某些后代:

$(this).find(".sub-menu").slideDown('slow');

答案 1 :(得分:3)

您可以将当前<li>元素作为$()函数的context参数传递:

$(".js-enabled li").hoverIntent(function() {
   $(".sub-menu", this).slideDown("slow");
}, function() {
   $(".sub-menu", this).slideUp("slow");
});