2012-01-26 2 views
3

이 문제를 이해할 수 없어서 물어볼 필요가 있습니다. 클릭 이벤트에서 매우 간단한 jQ 스크롤을 요소에 적용하려고합니다. 전에 다른 페이지에서 동일한 기능을 성공적으로 구축했습니다.jquery - html 페이지의 요소로 스크롤하기, body가 스크롤을 거부합니다.

$('li.newsmenu a').click(function() { 
    $('html, body').animate({scrollTop: $('section#news').offset().top}); 
     return false; 
}); 

내 선택기는 모두 정상입니다.

클릭 이벤트를 테스트 한 결과 경고 ('이와 비슷한')가 표시됩니다. 콘솔에서

$ ('섹션 # 뉴스').() 오프셋. 상단 값은 합리적인 717를 반환합니다.

Chrome에서 & Safari를 테스트 한 결과 성공하지 못했습니다.

저는 다른 사람의 작업과 HTML5 보일러 플레이트 Wordpress 테마 시스템의 맨 위에 작업하고 있습니다. 거기에 뭔가가 있는지 궁금합니다.

누구에게 아이디어가 있습니까? 이것은 나를 미치게합니다.

+0

jsfiddle와 같은 사이트가 있지만 html을 사용할 수 있습니까? – iiz

+0

ok 나는 그것이 모두 여기에 있어야한다고 생각한다 : http://jsfiddle.net/BTyUY/ 나는 물건을 차단해야했다. (나는 그것을 얻었 으면 좋겠다!) 그리고 JS는 포함되어 있지 않지만 JS는별로하지 않는다. 특정 지역을 제외한 HTML/CSS 변경. Jcarousel & Masonry – iiz

+0

jQuery가 좋습니다. 어딘가에서 충돌이 있어야합니다 ... 오류가 있습니까? 귀하의 코드에 대한 jsfiddle은 다음과 같습니다 : [http://jsfiddle.net/BTyUY/4/](http://jsfiddle.net/BTyUY/4/) –

답변

2

좋아, 이것은 웹킷 문제와 유사합니다. 지정함으로써

html, body { height: 100%; } 

그것은 윈도우의 높이로 제한됩니다. 따라서 scrollTop(x)은 절대로 작동하지 않습니다. 이 선언을 포함하지 않도록 CSS를 수정하면 모든 것이 다시 작동합니다. 한 가지 다른 해결 방법은 스크롤 할 수있는 div에 본문 내용을 배치하고 그 대신에 스크롤하는 것입니다. 나는 이것이 행동이 기괴한 것처럼 보이는 웹킷 버그라고 말하고 싶다. 창을 조금 아래로 스크롤하여 직접 볼 수 있습니다. 그런 다음 모든 현재 scrollTop 값을 쿼리하면 항상 0입니다! body, html, document, window, div # top 등.

+0

추가 insite 주셔서 감사합니다. 코드가 HTML5 Boilerplate WordPress 테마에서 왔고 동료가 추가 한 내용이 아니라고 생각하여 특히 디버깅하고 싶었습니다. 나는 그것이 그 주제의 끈적한 바닥 글과 관련이 있다고 생각한다. 난 아직도 StackOverflow에 대한 새로운지만 그것이 정확한 버그를하더라도 정확한 SO 에티켓입니다 특정 문제를 해결로 올바른 답변을 표시해야한다고 생각합니까? – iiz

+0

@iiz -이 질문에 대한 회색 영역입니다. 당신이 더 나은 해결책을 찾아야한다면 제 대답을 받아들이지 않을 것입니다. 이것이 받아 들여지는 것만 큼 좋을 것이라고 생각한다면 아마도 가장 좋습니다. 길 아래로 가면 누군가가 더 나은 해결책을 찾는다. 그러면 받아 들인 대답을 완벽하게 바꿀 수있다. – mrtsherman

+0

당신이 문제의 뿌리를 찾았을 때 그 문제에 대한 해결책을 찾았을 때 받아 들일 것입니다. 심지어 문제가 처음에 일어나야했을 것입니다. Thnx – iiz