slideToggle скользит вверх и вниз при нажатии на ссылки

0

im, имея небольшую проблему со следующим кодом, я хочу, чтобы он был открыт, если вы нажмете на ссылку, и если вы нажмете другой, то открытые будут закрываться до открытия нового.

HTML:

<a href="#" id="link_1" class="expandCourse">test link 1</a>
<div class="link_1" style="display:none;">content here</div>

<a href="#" id ="link_2" class="expandCourse">test link 2</a>
<div class="link_2" style="display:none;">content here</div>

<a href="#" id="link_3" class="expandCourse">test link 3</a>
<div class="link_3" style="display:none;">content here</div>

JS:

$('.expandCourse').on('click',function() {
    var courseID = $(this).attr('ID');
    $(this).addClass('active');
    $("."+courseID).slideToggle('slow', function() {
        if ($('.expandCourse').hasClass('active')){
            $("."+courseID).slideUp();
            $(this).removeClass('active');
        } else {
            $("."+courseID).slideDown();
            $(this).addClass('active');
        }
    }); 
    return false;
});

JS Fiddle: http://jsfiddle.net/znFmc/18/

Заранее благодарю за любую помощь

Теги:

1 ответ

0
Лучший ответ
$('.expandCourse').on('click',function() {
    if (!$(this).hasClass('active')) { 
        $('.expandCourse').removeClass('active')
        var courseID = $(this).attr('ID');
        $(this).addClass('active');
        $('.content').slideUp('slow', function() {
            $("."+courseID).slideDown('slow');
        });
    }
});

JSFIDDLE

  • 0
    Спасибо за помощь, и открывается сейчас, но если 1 открыт, и вы нажимаете другую, мне нужно закрыть другую, чтобы только 1 можно было открыть в любой момент, как бы я изменил ее? еще раз спасибо!
  • 0
    Я обновил ответ.
Показать ещё 5 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню