2014-04-16 8 views
0

두 개의 div를 가져 와서 페이지로드시 숨기고 하나를 클릭 할 때 각각의 드롭 다운을 별도로 처리하는 중입니다. 하나가 활성화되면 다른 하나는 숨겨집니다.다른 내에서 함수 배치하기

은 지금까지 나는

$('#div, #div1').hide(); { 
$("#div").click(function() { 
$("#div1").slideUp("slow", function() { 
// Animation complete. 
}); 
}); 

을하지만 초기 하나에 클릭 기능을 포장하는 데 문제가 있어요. div가 picklist에 의해 호출됩니다.

다른 사람이 나를 따라 걸을 수 있습니까? 단계별 예제를 선호합니다. jQuery를 작성한 경험이 매우 부족하고 도움을 주셔서 감사합니다.

다음은 내가 작업하고있는 페이지 링크입니다. 내가 꿔 무엇

https://www.gdg.do/prod1/portal/portal.jsp?c=6696885&p=8296647&g=8297605

, 나는 페이지로드에 숨겨져 모두 '그룹'영역을합니다. 그런 다음 드롭 다운에서 선택을하면 해당 '그룹'이 아래로 슬라이드됩니다. 다른 '그룹'을 선택하면 첫 번째 그룹이 사라지고 새로 선택된 그룹이 표시됩니다.

나는 그것이 더 명확 할 것입니다.

+0

기능은 어디에 있습니까? – Ibu

+0

의견이 아닌 질문에 덧붙여주십시오. – Ibu

+1

'display : none'처럼 숨겨진 경우 클릭 할 수 없습니다. 접을 수있는 선을 따라 더 생각하고 있습니까? http://getbootstrap.com/javascript/#collapse – shredmill

답변

1
var $sliderDivs = $('#div, #div1'); 
$sliderDivs.click(function(e){ 
    $(this).slideDown("slow"); 
    $sliderDivs.not(this).slideUp("slow", function() { 
     // Animation complete. 
    }); 
} 

모든 jQuery를 이벤트 핸들러는 이벤트를 발생시킨 요소에 대한 컨텍스트를 (어떤 this로 설정)을 설정합니다.

선택기를 $ 붙여 넣은 변수로 저장하는 이유는 선택기를 래핑 할 때마다 jquery가 dom을 탐색하므로 (유지 관리가 쉽고 변경이 한 곳에서만 이루어져야하기 때문입니다) $()로)

편집 : 당신이 할 필요가 어디에

http://codepen.io/tpblanke/pen/hrlgL

가 당신을 얻을해야 : 나의 더 나은 판단에 대하여 나는 당신에게 간단한 예를했다.

+0

원본 질문을보다 명확하게 질문하도록 수정했습니다. – CCanada

+0

@CCanada 나는 당신이하려고하는 것을 성취하는 방법을 직접 보여주기 위해이 포스트를 편집했다. 약간의 미세 조정으로 작동해야합니다. –

+0

제게 바이올린을 보여 주시겠습니까 /이 작품의 예가 좋을까요? – CCanada

관련 문제