글 작성 후 스크롤 이동 질문 ㅠ 채택완료

2년 전 조회 2,909

안녕하세요 ㅠ 페이지 이동 시(글작성 -> 글완료)

스크롤 이동 or 원위치로 가기 질문 ㅠ

현재

Copy
function fwrite_submit(f)
    {    

      f.action = '/theme/ttt/proc.php';

    }

로 작성하기를 누르면 proc.php 에서 DB를 처리하는데요

proc.php는

sql

~~

~~

Copy
<?
alert("신청이 완료되었습니다.");
}
?>

로 처리 되어있습니다 ㅠ 

제 생각에는 fwrite_submit에서 리스너로 Y축 좌표값을 받아와

proc에서 받고 다시 페이지에서 받아줘야할지...

다른방법으로 처리해야할 지...

조언이나 ㅠ 관련링크 부탁드립니다..

이해를 돕고자.. 이미지로 만들어봅니다..

3529194778_1679469356.1795.png

답변 2개

채택된 답변
+20 포인트
fwrite_submit에서 세션스토리지를 사용해서 위치 기억을 하고 스크롤을 해도 될거같아요
Copy
<script>


function fwrite_submit(f)
    {    
// 현재 스크롤 위치를 세션 스토리지에 저장
sessionStorage.setItem('scrollPosition', window.pageYOffset);
      f.action = '/theme/ttt/proc.php';
    }

 // 페이지 로딩 시 세션 스토리지에서 스크롤 위치를 가져와 이동

window.onload = function() {

const scrollPosition = sessionStorage.getItem('scrollPosition');

if (scrollPosition) {

window.scrollTo(0, scrollPosition);

} }

</script>

scrollTo 이벤트가 잘 적용이 안된다면 제이커리 animate 이벤트로 변경해주세요

음.. 그리고 페이지를 나갔을때는 세션스토리지 값을 삭제해줘야하는데

적당한 위치에 해당 코드 넣어주면 될거같습니다.

sessionStorage.removeItem('scrollPosition');

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

애니메이트로하니깐 잘 됩니다!! 정말 감사합니다 ㅠ

[code]
// 페이지 로딩 시 세션 스토리지에서 스크롤 위치를 가져와 이동
window.onload = function() {
const scrollPosition = sessionStorage.getItem('scrollPosition');
if (scrollPosition) {
console.log(scrollPosition);
window.scrollTo({top:scrollPosition, left:0, behavior:'auto'});

// 스크롤 이동 후 세션스토리지에 있는 스크롤 위치 삭제
sessionStorage.removeItem('scrollPosition');
} }
[/code]

댓글을 작성하려면 로그인이 필요합니다.

잘 될지 모르겠지만 아래처럼도 가능하지 않을까요?

f.scrollIntoView();
로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고