2011-02-06 5 views
0

나는 (#)의 URL에서 페이지의 특정 섹션이 지정된 경우, 수직 옵셋을 추가,이 자바 스크립트 코드를 가지고 :window.scrollBy는 Firefox에서만 작동합니까? 내 웹 사이트에서

경우 (!하면 window.location.hash) window.scrollBy (0, -60);

그러나 이것은 Firefox에서만 작동합니다 ... 나는 window.location.hash가 모든 브라우저에서 작동한다는 것을 확신합니다. 즉, "sharp"기호가 url에서 올바르게 감지되었습니다.

그러나 -60 오프셋은 Firefox에서만 작동합니다 ...이 URL입니다. 통찰력을 주시겠습니까?

http://patrickdiviacco.co.cc/#432

감사

+1

이것은 Chrome에서 유용합니다. 어떤 다른 브라우저를 테스트 했습니까? –

+0

예/url – galambalazs

+0

@Reiner Gerecke, Chrome 및 Safari에서는 페이지 스크롤이 Firefox에서와 동일하지 않습니다. 목록 항목 제목이 보이지 않습니다. Firefox에서는 목록 항목이 상단 배너와 완벽하게 정렬됩니다. (다시 말하자면, "#" – aneuryzm

답변

0

내가 IE 7을 테스트하고 파이어 폭스와 크롬 또한, 작동 ...

이 정말 작동하지 않는 경우이 사용해보십시오 :

function jumpScroll(amount) { 
    document.body.scrollLeft += amount; 
} 

jumpScoll(100); 

또는 원하는 값 ...

+0

불행히도 크로스 브라우저가 아닙니다. – galambalazs

4

기본 동작이 다른 순서로 적용됩니다. 코드가 먼저 실행되면 브라우저는 #hash에 따라 창을 정렬합니다. 나중에 실행하려면 이벤트 대기열으로 밀어 넣으십시오.

if (typeof window.location.hash == "string") { 
    setTimeout(function(){ window.scrollBy(0, -60); }, 1); 
} 
관련 문제