2012-04-11 66 views
1

下面的工作很好,当我点击左侧的链接,右侧面板动画像slideUp。但是当我再次点击相同的链接,面板隐藏。但我不想隐藏面板。请让我知道,我需要纠正上面的代码。我怎样才能显示面板,当我点击第二次链接

$(function() { 
    $('div.panel').hide(); 
    $('div.panel:first').addClass('active').show(); 
    $('li.link').click(function() { 
     var id = $(this).attr('rel'); 
     var showing = $(id).is(':visible'); 
     $('div.panel').slideUp('slow'); 
     $('li.link').removeClass('active'); 
     if (!showing) { 
      $(id).slideDown('fast', function() { 
       $('html,body').animate({ 
        scrollTop: 0 
       }, 'slow') 
      }); 
      $(this).addClass('active'); 
     } 
    }); 
}); 
+0

$(函数(){ $( 'div.panel')隐藏(); \t $( 'div.panel:第一')addClass( '激活')显示(); ('li.link')。click(function(){ var id = $(this).attr('rel'); var showing = $(id).is(':visible'); $('div.panel')。slideUp('slow'); $('li.link')。removeClass('active'); $(this).addClass('active'); if(!显示){ \t \t $(id).slideDown('fast',function(){$('html,body')。animate({scrollTop:0},'slow')}); \t $(this).addClass('active'); \t \t \t} }); }); – thirupathi 2012-04-11 07:14:36

+0

而你的HTML?你有现场演示吗? – 2012-04-11 07:17:12

+0

请参阅链接:http://rootloud.com/apologia/new4/apologia-olive/module1.html – thirupathi 2012-04-11 07:20:40

回答

0

移动if块内的.slideUp电话。如果您点击了与当前页面对应的链接以外的其他链接,您只需要执行该操作。 。

$('li.link').click(function() { 
    var id = $(this).attr('rel'); 
    var showing = $(id).is(':visible'); 
    $('li.link').removeClass('active'); 
    $(this).addClass('active'); 
    if (!showing) { 
     $('div.panel').slideUp('slow'); 
     $(id).slideDown('fast', function() { 
      $('html,body').animate({ 
       scrollTop: 0 
      }, 'slow') 
     }); 
     $(this).addClass('active'); 
    } 
}); 
+0

谢谢乔恩,对我很好... ... – thirupathi 2012-04-11 07:34:11