2012-04-11 2 views
1

아래 그림은 왼쪽 링크를 클릭하면 오른쪽 패널이 슬라이드 업처럼 움직이게됩니다. 하지만 같은 링크에서 다시 클릭하면 패널이 숨겨집니다. 하지만 난 그 패널을 숨기고 싶지 않아. 제가 위의 코드에서 수정해야 할 부분을 알려주십시오.링크에서 두 번째로 클릭 할 때 패널을 표시하는 방법

$(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') 클릭 (function() { var id = $ (this) .attr ('rel'); var showing = $ (id) .is (': visible'); $ (this) .addClass ('active'); 만약 if (!)가 없으면, $ ('div.panel') slideUp ('느리게'); 게재) { \t \t $ (id) .slideDown ('fast', function() {$ ('html, body')} 애니메이션 ({scrollTop : 0}, 'slow')})) \t $ (this) .addClass ('active'); \t \t \t} }); }}); – thirupathi

+0

그리고 HTML? 라이브 데모가 있습니까? –

+0

링크를 참조하십시오 : http://rootloud.com/apologia/new4/apologia-olive/module1.html – thirupathi

답변

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

관련 문제