iPad판 기능으로, 스크롤량의 취득·설정을 할 수 없는 문제의 일례
일반적인 스크롤량 획득
첫째, 스크롤 된 금액을 얻기위한 설명은 일반적? 나노하를 조사하면 이 정도는 곧 나온다.
■FireFox, IE
document.documentElement.scrollLeft //横軸のスクロール量
document.documentElement.scrollTop //縦軸のスクロール量
■ Chrome, Safari
document.body.scrollLeft //横軸のスクロール量
document.body.scrollTop //縦軸のスクロール量
잘하지 않는 원인은?
일반적인 방법에서는 0을 돌려, 여러가지 요소나 방법으로 시험해도 취할 전망이 서지 않았다.
요소의 지정 방법이 원인이 아니라고 생각해, 에러를 중심으로 구그해 가는 가운데 내 문제에 해당할 것 같은 기사를 발견했다. 그 결과는 다음 기사와 동일한 원인이었다.
→ document.body.scrollTop이 항상 0을 반환하는 수수께끼를 살펴 보았습니다.
그렇다면 어떻게해야합니까?
스크롤 대상의 아이 요소에 id를 지정해, 그 id로부터 취득·설정하는 것으로 해결했다.
우선, 스크롤 대상의 범위의 태그에 id로 취득하기 위한 이름을 설정. 이번은
id="scrollList"
라고 했다.그것을 취득하는 처리는 다음과 같다.
/* 横軸、縦軸の取得 */
function getPositon(){
var left = document.getElementById("scrollList").scrollLeft;
var top = document.getElementById("scrollList").scrollTop;
return [left,top];
}
위의 설정에서 스크롤 량을 얻을 수 있습니다.
그러나, 이번에는, 그 스크롤량의 개소로 이동하지 않는 문제가 발생했다.
설정시에
document.getElementById("scrollList").scrollLeft = left;
에서는 취득할 수 없고, 이하와 같이 하는 것으로, 이동할 수 있었다./* 再表示後のスクロール位置の設定 */
function movePosition(left ,top ){
var listPosition= document.getElementById("scrollList");
listPosition.scrollLeft = left;
listPosition.scrollTop = top;
}
IE판에서는,
getElementById
의 지정에 직접 대입할 수 있었지만, iPad판에서는 한 번, 변수에 세트 하지 않으면 대입할 수 없는 것 같다.
Reference
이 문제에 관하여(iPad판 기능으로, 스크롤량의 취득·설정을 할 수 없는 문제의 일례), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/shimatter/items/a354282fa2e0e510aa40텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)