2014-11-23 14 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? Что он должен делать? –

+0

@DavidThomas sir не сползает, когда я нажимаю на тег. – Mani

+0

Что такое "* it *"? Когда вы «* щелкните по [те] тегу *»? –

ответ

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

+0

@Mani, обновленный с помощью «.active-header», проверьте ссылку JSfiddle, а также, если это работает для вас, отмечая этот ответ, как принято, чтобы помочь другим, у которых может быть аналогичная проблема. – BeingDev

Смежные вопросы