我有四个链接,在 primary-nav 内部,需要激活相应的 slideDown 元素。这些链接具有单独的父类.patient > a
、.doctor > a
、.primary > a
和.locations > a
。
当有人点击时,.patient > a
我需要 ul.patient 成为目标的 ul。
我正在尝试,但这是我迄今为止所拥有的:
var $patientDrop = $('ul.patient');
$patientDrop.hide();
$('.patient > a').click(function() {
if ($patientDrop.is(':visible')) {
$patientDrop.slideUp(function() {
$('.patient > a').removeClass('active');
});
}
else {
$patientDrop.slideUp(function() {
$('.patient > a').removeClass('active');
});
$patientDrop.slideDown();
$('.patient > a').addClass('active');
}
});
$('body').click(function(event) {
if (!$(event.target).is('a')) {
$patientDrop.slideUp(function() {
$('.patient > a').removeClass('active');
});
}
});
现在,我使用变量只是为了学习,也许它们就是这里需要的。但我真正的问题是如何以最有效的方式解决这个问题。我不想不得不用不同的变量重复所有这些代码四次,只是为了让它与每四个链接及其对应的 UL 一起工作。
他们有什么办法可以说:primary-nav a, get class of clicked a, find ul with this class
然后运行脚本的其余部分?
jsFiddle:http: //jsfiddle.net/DRZZr/