2012-03-05 7 views
0

이 질문에 대한 간단한 답변을 드리지 못해 죄송합니다.하지만 찾고있는 정보를 찾을 수 없습니다. 내 페이지에는 두 개의 div가 있고 그것들을 열고 닫을 jQuery에 의해 제어됩니다. 페이지가로드되면 둘 다 기본값으로 닫힙니다. 페이지를로드 할 때 또는 열어 볼 때 하나의 기본값 (loginDiv)을 열면 어떻게 될까요? 저는 jQuery에서 매우 초보자입니다. 지금까지 나를 도왔던 사람은 지금 옵션이 아닙니다. 미리 감사드립니다! 여기 jQuery에서 하나의 패널을 기본으로 설정하는 방법

코드입니다 :

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 

<script type="text/javascript"> 
    // <![CDATA[ 

    (function($) { 
     var containers = ['login', 'account']; 

     var toggle = function(container, flag) { 
      span = $('#' + container + 'Link').find('span'); 
      div = $('#' + container + 'Div'); 

      div[flag ? 'slideDown' : 'slideUp'](); 
      span.html(flag ? '-' : '+'); 
     }; 

     var clickHandler = function() { 
      container = this.id.match(/^[a-z]*/); 
      flag = $(this).find('span').html() == '+'; 
      toggle(container, flag); 

      if (flag) { 
       for (i = 0, j = containers.length; i < j; i++) { 
        con = containers[i]; 


        if (con != container) 
         toggle(con, 0); 
       } 
      } 
     }; 

     $(function() { // on load 

      for (i = 0, j = containers.length; i < j; i++) 
       $('#' + containers[i] + 'Link').click(clickHandler); 

     }); 

    })(jQuery); 

    //]]> 
</script> 

//And here are the divs: 
<div id="loginDiv" style="display:none">...</div> 
<div id="accountDiv" style="display: none;">...</div> 

나는 아무도 아무것도하지만,에 loginDiv의 디스플레이를 변경했는데, 그것은 여전히 ​​제대로 작동하지 않습니다.

답변

1

당신은 같은 것을 할 수 있습니다

http://jsfiddle.net/ufomammut66/Em64X/

기본적으로 페이지 intializes를 표시하지 않는 요소. 페이지가로드되면 (즉, $function(){ 비트) 로그인 요소 인 CSS 값 'display'을 블록으로 설정합니다. bam - 페이지로드시 눈에 보이는 요소가 있습니다.

한 번에 하나씩 표시하기위한 빠른 토글 버튼도 포함되었습니다. 나는 당신이 거기에서하려고하는 것을 100 % 확실하지는 않지만, 당신이 모든 하나의 요소를 찾으려고하는 것처럼 보입니다. 물건을주기 위해 클릭 이벤트를 추가하십시오. 이것은 하나 또는 둘 다 div가있는 클래스 'hideAble'을 사용하여 슬라이드 토글을 수행합니다.

희망이 도움이됩니다.

편집 :로드시 스팬의 텍스트가 변경되었습니다.

+0

닫기! 고마워,하지만 유일한 문제는 "+ Login"이 페이지로드에 표시되는 것인데, 그 div (내가 기본적으로 열려 있기를 원할 때)가 열려있을 때 "-Login"이되어야하는 곳입니다. 이 질문은 모두 "로그인"또는 "계정 만들기"양식이 있고 각 양식이 jQuery 클릭에 의해 열리고 닫히는 자체 div에있는 페이지라는 것입니다. 나는 다른 사람이 열리면 자동으로 닫히게한다. 그렇지만 누군가가 그 페이지를 탐색 할 때 내가 열리도록 할 수 있다면 좋을 것이다. – Peter

+0

아하 저는 첫 번째 라운드에서이 기능을 실제로 얻지 못했습니다. Divs 안에있는 아이들의 모습을 반영하도록 HTML을 업데이트하십시오. (적어도 내가있는 위치에 있다고 가정하고 있습니다.) 첫 번째 범위 콘텐츠를 변경하기 위해 예제를 업데이트했습니다. – ShortRound1911

+0

사실, 당신이 이전에 나에게 가져다 준 것이 도움이되었습니다. 좀 더 연구를해야했지만, 올바른 방향으로 나를 가르쳐주었습니다. 감사합니다! – Peter

1

<div> 태그는 의도적으로 </div> 태그를 닫지 않았습니까? 해당 항목을 닫은 다음 에서 display:none을 삭제 해보세요.

+0

일반적으로 댓글을 달아야하지만 그만한 평판이 없기 때문에 사용자를 대신하여이를 수행 한 다음이 답변을 삭제할 수 있습니다. –

+0

맙소사, 미안 해요! 예, div 태그가 닫히고, 코드에 넣는 것을 잊었습니다. 나는 그것을 지금 편집 할 것이다. 또한, 귀하의 제안을 이미 시도했지만, "+ Login"은 해당 div가 열려있을 때 "-Login"이어야하는 위치를 유지합니다. 그래서 jQuery를 통해 기본 열기/닫기를 설정하는 방법이 있는지 궁금합니다. – Peter

관련 문제