0

这是我自己拼凑的第一个 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');
    });
}

});

另外,有谁知道为什么幻灯片效果会在最后一个元素滑开之前隐藏它?我在任何地方都找不到答案。

如果您有任何提示和/或建议,请告诉我。谢谢。

4

1 回答 1

0

你需要更换这个

return:false;

经过

return false;

我会说这就够了

演示

于 2013-08-13T22:55:34.640 回答