2014-08-30 2 views
1

나는 다음과 같은 자바 스크립트 기능을 가지고 있습니다. 혼자서 재로드를 사용할 때 잘 작동하고 스크롤을 단독으로 사용할 때 잘 작동합니다. 하지만 둘을 결합하면 스크롤되지 않습니다. 시퀀스를 변경하려했지만 도움이되지 않았습니다.스크롤과 결합 된 자바 스크립트 재로드

function myFunction() { 
    window.open("http://www.example.com"); 
    location.reload(true); 
    window.scrollBy(0,1000); 
} 

미리 도움을 청하십시오.

+0

그래서 당신이 페이지를 다시로드 한 후 1000px 스크롤 할 : 여기 sessionStorage를 사용하는 예입니다? – Pavlo

+0

예 정확히 둘 다 원합니다 – Abbas1999

+1

Dom 스토리지에서 이것을 수행하는 방법? – Abbas1999

답변

2

해시를 somehash으로 설정 한 다음 페이지를 다시로드 할 수 있습니다. 그 후에, 당신 몸 onload에서 해시를 확인하고 해시가 somehash이면 페이지를 스크롤하십시오.

function myFunction() { 
    window.open("http://www.example.com"); 
    location.hash = 'somehash'; 
    location.reload(true); 
} 

이 페이지 onload 이벤트 처리기에 다음 함수를 추가합니다.

function scrollOnload() { 
    if (location.hash == 'somehash') { 
     window.scrollBy(0,1000); 
    } 
} 
+0

좋은 옵션이긴하지만, 나는 "약간의 해시"보다 의미있는 것을 찾아 볼 것입니다. :) – Pavlo

+0

감사합니다 nisargjhaveri; 나는 그것을 시도하고 알려주지. – Abbas1999

+0

@Pavlo, 분명히 : P – nisargjhaveri

1

브라우저를 다시로드 한 후에 무언가를 수행하려면 플래그를 어딘가에 유지해야합니다.

function myFunction() { 
    window.open("http://www.example.com"); 
    sessionStorage.setItem('scroll', true); 
    location.reload(true); 
} 

document.body.addEventListener('load', function() { 
    if (sessionStorage.getItem('scroll')) { 
     window.scrollBy(0, 1000); 
     sessionStorage.removeItem('scroll'); 
    } 
}); 
+0

고마워요 Pavlo; 나는 두 가지 해결책을 좋아한다. – Abbas1999

관련 문제