我在section元素中有几个div元素。当我点击某个链接时,我想要隐藏section元素中的所有div,而fadeIn只有div#one。
一旦div#one可见,当有人点击span元素时,它应该使用div#one和slideUp并抓住div#two和slideDown。当div#2向下滑动时,我有一个if语句来测试它是否可见。如果它是可见的,那么相同的span元素现在应该使用div#two和slideUp并抓住div#3和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();
});
}
};
答案 0 :(得分:0)
问题是该类是在事件范围内的click
事件中添加的,但if
语句是在hwdbussSlider()
范围内执行的,所以事实上,在click
生成之前,不会添加类。
我真的不明白你要做什么,所以我不会建议代码,但前面的句子可以帮助你理解为什么它不起作用。
此外,我认为您在上次#
次出现时错过了$('hwdbuss').find('div')
。
答案 1 :(得分:0)
阅读...评论..重新阅读..我认为你的问题是你滥用你的元素的ID属性。我怀疑你有相同ID的元素,因此你会看到意想不到的结果。让他们上课。
我对此假设的推理是,您致电$('.hwdbuss')
$('#hwdbuss')
和$('hwdbuss')
答案 2 :(得分:0)
只有在调用hwdbussSlider()时才会评估您的If语句。您需要在“span:first”点击回调
中添加if条件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();
});
}
});
};