2014-12-02 25 views
2

현재 jQuery UI Vertical Tabs 스 니펫을 사용하고 있으며 전체 페이지 스크롤에 어떤 영향을 주는지 이상한 문제가 있습니다. 탭을 변경할 때마다 페이지 메인 페이지를 위아래로 스크롤하려고하면 "sticking"이 끝나고 조금씩 정상적으로 작동합니다. 여기에서 효과를 볼 수 있습니다 : http://investors.realcrowd.com/tab-testerjQuery UI 세로 탭으로 페이지 스크롤 "stick"

문제가 무엇인지 또는 진단하는 방법을 모르는지 ... 문제를 해결하기 위해 추가 할 수있는 코드 스 니펫이 있습니까? 당신의 도움을 주셔서 감사합니다!

+0

이상한. 어쩌면 eventPropagation? – briosheje

+0

흠, 더 설명해 주시겠습니까? 나는 jQuery를 처음 접했고 개발자는 그 용어에 익숙하지 않다. 빠른 응답을 정말로 고맙게 생각합니다! –

+0

저는 jQuery 전문가가 아니기 때문에 솔루션을 제안하는 것이 쉽지 않을 것이라고 생각합니다. 나에게 스크롤 이벤트 트리거는 탭을 클릭하면 실제로 작동하지만, 소스가 무엇이며 어떻게 해결할 수 있는지 잘 모르겠습니다. 그냥 사이드 노트 : 당신은 당신이 파일을 포함하지 않는 것을 알았습니까? 당신의 페이지에 오류가 있습니다, 어쩌면 이것이 당신의 문제에 어떤 식 으로든 연관 될 수 있습니까? (스타일 시트에 스타일 시트가 포함되어 있지 않은 경우 스타일 시트에 적용해야하는 클래스가 포함되어있는 경우 그 이유가있을 수 있습니다). 이것을 확인하십시오 : http://prntscr.com/5cgfi4 – briosheje

답변

1

해결책이라면 100 % 확신 할 수는 없겠지만, 그런 시점에서 나는 매우 확신합니다.

소스 코드를 검사하면 코드 시작 부분에 트리거가 생깁니다. 더 구체적으로 여기에 있습니다 :

바로 뒤에 jQuery가 포함됩니다.

이 코드 조각에는 실제로 비어 있지 않은 앵커가 호출 될 때마다 발생시키는 핸들러가 있습니다. 이 이벤트는, 약간 확인 후이 호출하려고 :

$('html,body').animate({ 
       scrollTop: target.offset().top 
      }, 1000); 

옵셋 필요한 타겟의 상부에 뷰 스크롤 1 개 초 애니메이션 (1000 밀리 초)을 수행하려고한다. 이 두 번째로, 스크롤하려는 경우, 대상의 오프셋의 꼭대기에 강요해야합니다. 그러므로 다른 곳으로 스크롤하지 말고 강제로 스크롤해야합니다.

실제로 대상의 오프셋으로 스크롤하는 것이 좋을지라도 1000을 1로 설정하거나 애니메이션을 제거하면 1000을 1 (또는 10 또는 심지어 100)으로 바꿀 수 있습니다. 괜찮을거야.

희망이 도움이됩니다.

+0

그랬어! 1로 설정하면 아무 것도하지 않는 것 같지만 조건부 전체를 제거하면 고정됩니다. 정말 고맙습니다! –

+0

환영합니다. 제안 된 방식 중 일부에서 실제로 작동합니다. P. – briosheje