2012-03-28 4 views
0

jQuery로 슬라이딩 div 메뉴를 만들었지 만 div에서 LINK를 클릭하여 슬라이드를 만들어야합니다. 누구든지 클릭 할 div를 어떻게 만들 수 있는지 말해 줄 수 있습니까? 가끔 작동 http://jsfiddle.net/WhfDc/jQuery 슬라이딩 메뉴에서 divs를 클릭하는 방법

나는 앵커가 전체 사업부를 커버하기 위해 CSS를 사용하여 시도했습니다

당신은 여기에 메뉴와 코드를 볼 수 있습니다. 이것이 옳은지 아닌지에 대한 생각?

+0

나는 문제없이 클릭 할 수 있습니다이 문제는 예상 된 결과입니다 = P –

+0

에 오신 것을 환영합니다 과다! –

+0

내 대답을 확인 :) 가능하면 언제든지 받아 들일 수있는 모든 답변을 투표에 기억하십시오 :) – deantoni

답변

0

예, div 내부에있는 앵커 요소 대신 div에 클릭 이벤트 핸들러를 연결하면 가능합니다.

또한 jQuery를 사용하여 인라인 이벤트 처리기 대신 이벤트 처리기를 연결하는 것이 좋습니다.

근무 데모 - http://jsfiddle.net/WhfDc/1/

+0

http://api.jquery.com/click/ –

+0

참조 hmmm 감사합니다, 그것은 jsfiddle에서 일하지만 어떤 생각이라도 살아? –

+0

live : http://worldoceansday.org/?page_id=1035 –

0

당신은 모든 자바 스크립트가 필요하지 않습니다. 메뉴 클릭 이벤트 (.evtog 클래스를 가진 모든 div)를 바인딩 할 수 있습니다. 핸들러는 보이지 않는 하위 메뉴를 숨기고 하위 메뉴를 표시합니다.

이 시도 :

$(function() { 
    $("div.evtog").click(function() { 
    $("div[name=events]:visible").slideUp(600); 
    $(this).next().slideDown(200); 
    }) 
});​ 

주에게 기능을 감싸는 $(),이 때문에 그들은 DOM에 있어야 요소를 결합하기 위해 필요하다. 그리고 이것은 DOM이 준비되었을 때 함수가 실행되도록 보장합니다.

근무 예 : JsFiddle

상세 정보 : 스택에

.click
:visible
.next
.ready

+0

와우, 정말 고마워! 당신이 바꾼 건 자바 스크립트 뿐이야? –

+0

jfiddle에서 작동하지만 라이브가 아닌 이유는 무엇입니까? http://worldoceansday.org/?page_id=1035 –

+0

메뉴가 준비되기 전에 이벤트를 바인딩하는 것이 문제입니다. 그리고 a 요소에서 js 호출을 제거해야합니다. 나는 나의 대답을 편집했다. 여기에 설명 된대로 $ (처리기)를 참고하십시오. http://api.jquery.com/ready/ – deantoni

관련 문제