2013-09-03 3 views
1

두 번째 클릭 후 링크를 ​​변경하여 실제 URL로 이동하는 방법을 알고 싶습니다. 첫 번째 클릭하면 아코디언이 열리고 두 번째 클릭은 href로 이동합니다.두 번째 클릭 후 Jquery 아코디언 변경 링크 기능

내 아코디언 코드는 내가 event:false 옵션을 클릭 이벤트를 비활성화 할 알고 있지만, 가장 좋은 방법은 그것을 적용하는 것입니다 무엇인지 확실하지 오전

$(".mobile-main-nav ul ul").accordion({ 
      collapsible: true, 
      active: false, 
      header: "a.level2" 
     }); 

입니다.

미리 감사드립니다.

+0

이 [jsfiddle] (http://jsfiddle.net) 당신은 물론 – Dom

+0

이 무엇을 제공하십시오 (jsFiddle으로 작동하지 않습니다 실제 연결은 'page1.html을'이 없음) , 그래서 저는 문자 그대로 이것을 지금 가지고 있습니다 ... http://jsfiddle.net/P6JeF/, 첫 번째 아코디언 헤더를 클릭하면 열립니다. 그러나 다음에 링크를 클릭하면 실제 페이지로 이동하는 것과 같습니다. –

+0

내가 이것을 정확하게 이해하고 있는지 보도록하겠습니다. 헤더 (확장자)의 경우 패널이 축소되면 첫 번째 클릭으로 섹션이 확장되고 두 번째 클릭에서는 링크를 사용하게됩니다. 세 번째 클릭은 어떨까요? 클릭 후? – Dom

답변

0

아코디언의 'beforeActivate'이벤트에 연결하여 요소에 플래그 속성을 첨부 할 수 있습니다. 조건부를 통해 이것을 실행하면 원하는 것에 가까운 것을 얻을 수 있습니다.

$("ul.testnav").accordion({ 
collapsible: true, 
active: false, 
beforeActivate: function(e, ui){ 
    if(ui.newHeader.attr('data-visited')){ 
     window.location = ui.newHeader.attr('href'); 
    } else { 
     ui.newHeader.attr('data-visited', 'true'); 
    } 
} 

});

http://jsfiddle.net/P6JeF/1/

+0

정말 고마워. 내가 실제로 원하는 코드에 가깝기는하지만, 실제 코드에서 사용할 때가끔 'undefined'를 리턴하지만, 나는 개별적인 아코디언이 아닌 오히려 그것을 사용하고 싶다. 예 : 첫 번째 협정을 클릭 한 다음 두 번째 협정을 클릭하면 두 번째 협상이 여전히 마음에들 것입니다. –

+0

소리가 닫힙니다, 충분한 담당자가 있다면 +1을 주겠어! –

+0

jsFiddle을 업데이트했습니다 ... http://jsfiddle.net/P6JeF/3/ –

관련 문제