2010-05-22 4 views
0

문제는 탭이 활성화 될 때마다 탭 링크가 div를 가리키고 페이지가 div의 맨 위로 스크롤되기 때문에 커서가 페이지 상단으로 이동한다는 것입니다. 탭 내용을 읽는 동안 사용자가 조금 아래로 스크롤하면 급격한 효과가 발생합니다.jquery tabs question

어쨌든 이것을 방지 할 수 있습니까?

+0

에 오신 것을 환영합니다 SO에 : 보조 노트에

는 클릭에 바인딩,이는 '문서화'방법이 될 것입니다. 몇 가지 코드를 보여줄 수 있습니까? –

답변

1

업데이트 된 코드에 맞게! 이 같은

$j('.null_link').live('click', function(e){ 
e.preventDefault(); 
return false; 
}); 

$('ul.tabs li a').click(function(e) { 
    e.preventDefault(); 
}); 

가정 뭔가 :

<ul class="tabs"> 
<li><a href="#" >TAB A</a></li> 
<li><a href="#" >TAB B</a></li> 
<li><a href="#" >TAB C</a></li> 
</ul> 

참고 :

하기이 작업을 수행하여 점프 효과를 방지 할 수 있습니다 :

<li><a href="javascript:;" >TAB A</a></li> 
+0

다음은 코드입니다. 문제는 a 태그가 앵커에 대한 링크 인 것입니다. http://pastie.org/972703 – badnaam

+0

업데이트를 확인하고 알려주십시오! –

+0

빠른 응답 주셔서 감사합니다, 그것은 여전히 ​​점프. 코드는 pastie 링크에서 업데이트됩니다. – badnaam

0

ui 탭에 기본적으로 해당 동작이 없으므로 다른 문제가 있습니다. 여기에 ui 1.8과 jquery 1.4.2가있는 UI 탭의 구현에서 $ ('# selector') 이외의 호출에 대한 변경 사항이 없습니다. tabs(); http://www.horsezone.com.au/index.php?a=28&b=153

페이지를 실행할 때 자바 스크립트 오류가 발생합니까? 나는 무언가가 스크립트를 멈추고있는 것으로 의심 할 것이다. 따라서 A 엘레멘트에 "return false"가 발생하지 않고 앵커가 발생한다.

이것은 표준 jquery-ui 탭 동작이 아닙니다.

$j("#tabs").tabs(
     { fx: { opacity: 'toggle' }, 
      select: function(e) { e.preventDefault(); return false; } 
    }); 
+0

Re : 파운드 기호 또는 명명 된 앵커 제거에 대한 다른 의견 : - - jQuery UI 탭의 작동 방식입니다. a 요소의 href 값은 선택할 DIV의 ID를 지정하는 데 사용됩니다. 내부적으로는 링크가 false로 반환되므로 실제로 앵커가 실행되지 않습니다. ** badnaam, 탭을 선택할 때 자바 스크립트 오류가 있으면 찾으셨습니까? Firefox 도구 메뉴에서 오류 콘솔을 선택하고 생성 된 오류를 볼 수 있습니다. –

+0

OK, 나는 그 시도하고 무슨 일이 있었는지 모르겠지만, 지금은 탭이 모두 엉망이되어있는 것처럼, 심지어 탭-2를 클릭 할 수없는 외모와 탭-2의 콘텐츠는 기본적으로 표시됩니다 . http://pastie.org/972703 – badnaam

+0

javascript 오류가 표시되지 않습니다. – badnaam