【发布时间】:2011-12-20 18:11:32
【问题描述】:
我在一个 section 元素中有几个 div 元素。当单击某个链接时,我想隐藏 section 元素中的所有 div 并仅淡入 div#one。
一旦 div#one 可见,当有人点击 span 元素时,它应该获取 div#one 和 slideUp 并抓取 div#two 和 slideDown。当 div#two 向下滑动时,我有一个 if 语句来测试它是否可见。如果它是可见的,那么相同的 span 元素现在应该采用 div#two 和 slideUp 并抓取 div#three 和 slideDown。我写的条件语句不起作用。请帮忙!
function hwdbussSlider() {
$('.dropdown').find('a').click(function() {
$('.hwdbuss').hide();
$('#services #one').fadeIn(3000);
});
$('#pagi_hwdbuss').find('span:first').click(function() {
$('#hwdbuss').find('div').removeClass('hwd_visible');
$('#services #one').slideUp();
$('#services #two').addClass('hwd_visible').slideDown();
});
if($('#services #two').hasClass('hwd_visible')) {
$('#pagi_hwdbuss').find('span:first').click(function() {
$('hwdbuss').find('div').removeClass('hwd_visible');
$('#services #two').slideUp();
$('#services #three').addClass('hwd_visible').slideDown();
});
}
};
【问题讨论】:
-
您不需要
$('#services #two'),您可以使用$('#two')简化此操作,ID 是唯一的。查找时不需要嵌套。 -
另外,作为另一个不相关的点。如果您在同一块中多次调用选择器,则使用
var myName = $("#whatever");将其定义为局部变量,这也将提高性能。 -
是
$('hwdbuss').find('div').removeClass('hwd_visible');错字还是应该是$('#hwdbuss').find('div').removeClass('hwd_visible');
标签: javascript jquery conditional-statements