2013-02-21 3 views
0

나는 이것에 대한 답을 찾기 위해 높고 낮게 보았습니다. 내가 겪고있는 문제는 탭에 그대로 남아 있어야하는 특정 스타일 특성입니다.특정 jquery 탭에 연결

http://nextadagency.com/theta/services.html

내가 (별도의 페이지에) 링크를 만들려고하고있는 각 탭에 다음은 내가 작업하고있는 페이지입니다. "서비스"페이지가로드되면 선택한 탭을로드하고 맨 위에 고유 한 주소가 있고 페이지 맨 위에로드됩니다. 어떤 이유로 이전에 특정 탭에 연결하려고 시도했을 때 탭에 따라 다른 영역에 페이지를로드합니다.

답변

0

기본 해시 동작 (페이지 건너 뛰기)을 방지하기 위해 대신 URL 매개 변수를 사용합니다. 귀하의 경우에는이, 예를 들어 초래 http://nextadagency.com/theta/services.html?tab=3

$(function() { 
    // update URL parameter and browser history on manual tab select 
    $('#tabs').bind('tabsselect', function(event, ui) { 
     var myTab = $(ui.tab).attr('href').replace('#', ''); 
     var myParam = '?tab=' + myTab; 
     window.history.pushState('Object', 'Title', myParam); 
    }); 

    // get 'tab' URL parameter and select tab 
    var param = $(document).getUrlParam('activity'); 
    $('#tabs').tabs('select', param); 
    }); 

이 당신을 위해 잔인한 수도 있지만, 최소한 당신이 preventDefault() 가능, 기본 해시 행동을 중지해야합니다. 그것은이 탭을로드

http://nextadagency.com/theta/services.html#tabs1

: 당신이 뭔가에 갈 때

$('#tabs').tabs({ 
    selected: $('#tabs > ul > li > a[href='+window.location.hash+']').index() 
}); 

다음 :

+0

어떻게하면 이것을 현재 페이지의 코딩에 통합 할 수 있습니까? – user2096415

+0

원래 서비스 페이지 링크를 보면 코딩을 섹션에 통합 한 것을 볼 수 있습니다. 그 밖의 작업은 무엇이 필요합니까? 감사합니다. – user2096415

+0

이 답변을 작성한 이후로 URL 매개 변수를 처리하는 데 필요한 두 개의 파일을 포함하지 못했다는 것을 깨달았습니다. 따라서이 대답은 아마도 좋은 선택이 아닙니다. – isherwood

0

당신은 URL # (해시) 및 탭 selected 옵션을 사용할 수 있습니다 ...

탭을 변경할 때마다 URL에 해시를 추가 할 수도 있습니다.

$('#tabs').tabs({ 
    select: function(e, ui){ 
     window.location.hash = $(ui.tab).attr('href').replace(/\#/, ''); 
    } 
}); 
+0

이 내용을 페이지의 현재 코딩에 통합하려면 어떻게해야합니까? – user2096415

+1

당신의 페이지는 이미'$ ('# tabs') 탭 ({...})'과 같이 탭을 시작하는 코드를 가지고 있습니다. 위 예제에서와 같이'selected : $ ('# tabs> ul> li> a [href ='+ window.location.hash + ']') .index()'메서드 호출을 추가하면됩니다. – UpHelix