2014-11-23 64 views
-2

我想用这段代码切换很多div。一个div打开一次,但我不知道这是为什么不工作..我的jQuery代码不起作用

HTML:

<a href="#" id="test" class="bitcon"></a> 
<div class="hide-show"></div> 

的jQuery:

var test = $('#test'), 
    a = $('div').find('a'); 

console.log(a.hasClass('active')); 

test.click(function(e) { 
    e.preventDefault(); 
    var $this = $(this), 
     speed = 500; 
    if ($this.hasClass('active') === true) { 
     $this.removeClass('active').next('.hide-show').slideUp(speed); 
    } else if (a.hasClass('active') === false) { 
     $this.addClass('active').next('.hide-show').slideDown(speed); 
    } else { 
     a.removeClass('active').next('.hide-show').slideUp(speed); 
     $this.addClass('active').next('.hide-show').delay(speed).slideDown(speed); 
    } 
}); 

CSS:

.hide-show { 
    display:none; 
} 
+0

你能澄清你的意思是“不工作”吗?它有什么作用吗?没有?报告JavaScript控制台中的任何错误?它应该做什么? – 2014-11-23 02:22:27

+0

@DavidThomas先生,当我点击一个标签时,它不会滑落。 – Mani 2014-11-23 02:23:21

+0

什么是“* it *”?当你“*点击[哪个]标签*”? – 2014-11-23 02:24:19

回答

0

不很确定你在问什么,但我认为这是你的Ë寻找:

var test = $('#test'), 
    a = $('a'); 

a.click(function(e) { 
    e.preventDefault(); 
    var $this = $(this), 
     speed = 500; 
    $this.next('.hide-show').slideToggle(speed); 
}); 
0

http://jsfiddle.net/jkgmdmvs/2/

HTML:

<div id="divWrapper"> 
    <a href="#" class="bitcon">header 1</a> 
    <div class="hide-show"> 
     <h3>div#1 content</h3> 
    </div> 
    <hr /> 
    <a href="#" class="bitcon">header 2</a> 
    <div class="hide-show"> 
     <h3>div#2 content</h3> 
    </div> 
    <hr /> 
    <a href="#" class="bitcon">header 3</a> 
    <div class="hide-show"> 
     <h3>div#3 content</h3> 
    </div> 
</div> 

JS:

$(document).ready(function(){ 

    $('.bitcon').click(function(){ 
     $('.hide-show').hide(); 
     $('.bitcon').removeClass('active-header'); 
     var anchElement=$(this); 
     var divElement= anchElement.next(); 
     divElement.slideToggle(); 
     anchElement.addClass('active-header'); 
    }); 

}); 

CSS:

.hide-show { 
    display:none; 
} 
.active-header{ 
    background-color:yellow; 
} 
+0

尊敬的先生感谢您的关注,只是我需要在此代码中进一步说明,如果我想为选定的链接添加活动类... – Mani 2014-11-23 09:17:08

+0

@Mani更新为“.active-header”,请检查JSfiddle链接,为你工作标记这个答案被接受,以帮助其他可能有类似问题的人。 – BeingDev 2014-11-23 14:02:56