var get_scroll = function(){
y = 0;
if(document.body && (document.body.scrollTop)) {
y = document.body.scrollTop;
}
return y;
};
항상 위의 코드에서 0을 반환합니까?제 경우에 스크롤 y 위치가 작동하지 않습니다.
나는 console.log(get_scroll());
var get_scroll = function(){
y = 0;
if(document.body && (document.body.scrollTop)) {
y = document.body.scrollTop;
}
return y;
};
항상 위의 코드에서 0을 반환합니까?제 경우에 스크롤 y 위치가 작동하지 않습니다.
나는 console.log(get_scroll());
당신이 선언 한 경우, 문서의 스크롤 위치가 다르게 액세스 할 수에 따라 달라집니다. Doctype이 없으면, 위치는 보편적으로 다음과 같이 검색됩니다.
document.body.scrollTop;
표준 모드에서 이것은 약간 까다 롭습니다. IE와 파이어 폭스 모두 들어 다음 코드를 수행합니다
document.documentElement.scrollTop;
는 그러나, 크롬 같은 웹킷 기반 브라우저는 여전히 body.scrollTop 값을 채 웁니다. 그러므로 더 큰 두 가지를 고르셔야합니다 :
function get_scroll(){
var top=document.documentElement.scrollTop;
if (top<document.body.scrollTop) top=document.body.scrollTop;
return top;
}
표준 모드보다 quirks 모드가 더 자주 작동하는 방식이 아이러니하지 않습니까?
조건이 있다면 나는 이해하지 않지만, 그것없이, 나는 성공적인 결과 (사용 크롬) 도착 :
if(document.body && (document.body.scrollTop))
그것은 어떤을하지 않습니다
var get_scroll = function(){
y = document.body.scrollTop;
return y;
}
console.log(get_scroll());
두 번이 옵션을 선택합니다 나 한테 감각이있어. document.body는 true/false 값을 반환하지 않으며 document.body.scrollTop도 반환하지 않습니다. 두 값을 비교하여 변경해보십시오. 설정 한 경우 :
var get_scroll = function(){
y = 0;
if(1==1) {
y = document.body.scrollTop;
}
return y;
};
그래야합니다.
저는 이것을 이해하지 못합니다. 전체 코드를 제공 할 수 있습니까? 나는 IE가 필요 없지만, 그것은 죽었다. –
나는 심지어 console.log (window.scrollY)를 시도했다; 그것은 제로도 나에게 줬다. 나는 그것을 스크롤하고 발사합니다, 왜 그것이 0을 반환 했습니까? –
오, IE에서는 그렇지 않습니다. 브라우저에는 다른 렌더링 모드가 있습니다. 함수 호출에 맞게 대답을 수정했습니다. – Schien