따라서 사이트 STVPlus에서는 부트 스트랩과 탭 스크립트를 사용하여 다양한 TV 프로그램의 에피소드 및 기사 목록을 표시합니다. 페이지가로드되면 (일반적으로) 제대로 작동하고 탭을 선택하면 해당 div가 표시되는 문제가 있습니다. 그러나 이미 활성화 된 div를 선택하면 페이지가 아래로 이동합니다. 또한 episodes hash tag link과 같은 해시 태그로 페이지를로드하면 페이지가 완전히로드 될 때 자동으로 아래로 이동합니다. 나는 크롬 개발자 도구를 사용하여 JS 코드를 단계별로 시험해 보았지만 아무 것도 발견 할 수 없었다.탭을 한 번 클릭하면 페이지가 아래로 이동합니다.
도움을 주시면 감사하겠습니다.
샘플 코드 :
$(function()
{
$('.sidebar').jScrollPane();
// Bind an event to window.onhashchange that, when the hash changes, gets the
// hash and adds the class "selected" to any matching nav link.
$(window).hashchange(function(){
var hash = location.hash;
if (hash == '#episodes'){
//e.preventDefault();
$('.nav-pills a:last').tab('show');
}else{
//e.preventDefault();
$('.nav-pills a:first').tab('show');
}
})
// Since the event is only triggered when the hash changes, we need to trigger
// the event now, to handle the hash the page may have loaded with.
$(window).hashchange();
return false;
});
에피소드는 사업부 컨테이너는 너무
<div class="tab-pane" id="episodes"> ..... </div>
처럼 당신이 클릭 탭으로, 나는 최신 jQuery를 사용하므로
<ul class="nav nav-pills pull-right" data-tabs="tabs">
<li class="active"><a href="<?php echo current_url(); ?>#articles">Latest Articles</a></li>
<li><a href="<?php echo current_url(); ?>#episodes">Upcoming Episodes</a></li>
</ul>
같다 http://benalman.com/projects/jquery-hashchange-plugin/
사용하는 코드의 최소 버전을 게시해야한다. 해시 태그에 바인딩하는 대신 적절한 초기화를 사용하지 않는 이유는 무엇입니까? 그렇게하면 클릭 수를 가로 챌 수 있습니다. 페이지 점프는 HTML의 기능으로, 직접성 (해시로 된 ID)을 선택하거나 자신의 해시 태그 <-> 탭 매처를 넣을 수 있습니다. – Sherbrow
감사합니다. 샘플 코드를 추가했습니다. 그것의 특징이라면, jquery는 그 권리를 막을 수있을 것입니다. 나는 아직 행운을 피하기 위해 장소에서 preventdefault를 시도했다. 어떻게 페이지 이동을 막을 수 있습니까? – viperfx
나는 그것을 막을 수 있다고 생각지 않습니다.내가 아는 한 브라우저 일 뿐이며 JS는 너무 낮을 수도 있습니다. 탭 알약이 아닌 '해시 체인지'를 듣고 싶니? – Sherbrow