Возникли проблемы с оператором jquery if/else и эффектом slide, скрывающим последний элемент

Это мой первый jquery-скрипт, который я собрал сам. У меня проблема с попыткой заставить оператор if / else работать. Я просто хочу, чтобы скрипт не запускался, если в данный момент отображается поле / ссылка, по которой вы щелкаете.

Вот скрипт, работающий без оператора if: http://jsfiddle.net/Vitruvius/yqMAN/

$('.link').click(function () {
var parentName = $(this).closest('ul').attr('id');
var boxNumber = $(this).attr('id');
$('.' + parentName).children('.active').toggle('slide',{direction:'right'},function(){
    $('.' + parentName + ' ' + 'div').removeClass('active');
    $('.' + parentName).children('.' + boxNumber).show().effect('slide').addClass('active');
});

});

Вот моя попытка утверждения if: http://jsfiddle.net/Vitruvius/h8CMU/

$('.link').click(function () {
var parentName = $(this).closest('ul').attr('id');
var boxNumber = $(this).attr('id');
if($('.' + parentName).children('.' + boxNumber).hasClass('active')){
    return:false;
}
else {
    $('.' + parentName).children('.active').toggle('slide',{direction:'right'},500,function(){
        $('.' + parentName + ' ' + 'div').removeClass('active');
        $('.' + parentName).children('.' + boxNumber).show().effect('slide').addClass('active');
    });
}

});

Кроме того, кто-нибудь знает, почему эффект слайда скрывает последний элемент, прежде чем он заканчивает скольжение? Я нигде не мог найти ответ.

Пожалуйста, дайте мне знать, если у вас есть какие-либо советы и / или предложения. Благодарю.

1 ответ

Вы должны заменить это

return:false;

от

return false;

Я бы сказал, что этого достаточно

DEMO

Другие вопросы по тегам