SIR

게시판 리스트 뒤로가기 질문

게시판 리스트 뒤로가기 질문

QA

게시판 리스트 뒤로가기 질문

본문

안녕하세요. 

게시판 리스트에서

제목을 눌러서 내용을 확인 후 

뒤로 가기 버튼을 누르면

최상단 언저리로 돌아가 버립니다.

 

더보기 버튼을 눌러서 

아래로 쭉 내리는 스킨을 사용중인데요

 

이것때문에 문제가 되는건지.. 

아이폰 에선 잘 되는데

안드로이드가 문제네요 ㅠ

 

소스는 아래와같습니다..

 

    
<div class="moreBar moreBtm">불러오는 중</div>
<div class="scrollTop btmScroll"><i class="fa fa-arrow-down"></i> 마우스 스크롤 (다음글 불러오기)</div>
<script>
$(function(){
    var total_page = parseInt("<?=$total_page?>") || 0;
    var now_page = parseInt("<?=$page?>") || 1;
    var roll_page = now_page;
    var throttleTime = 250;
    $(window).ready(function(){
        if(now_page != 1){
            $(".topScroll").show();
        }
        if(roll_page != total_page){
            $(".btmScroll").show();
        }
    });
    var throttle = function(func, limit) {
      var lastFunc
      var lastRan
      return function() {
        var context = this
        var args = arguments
        if (!lastRan) {
          func.apply(context, args)
          lastRan = Date.now()
        } else {
          clearTimeout(lastFunc)
          lastFunc = setTimeout(function() {
            if ((Date.now() - lastRan) >= limit) {
              func.apply(context, args)
              lastRan = Date.now()
            }
          }, limit - (Date.now() - lastRan));
        }
      }
    };
    window.addEventListener('scroll', throttle(function(e){
        var $window= $(window);
        var chkBtm= parseInt($(document).height()) - $("#ft").outerHeight();
        var scrollTop= $window.scrollTop();
        var agent = navigator.userAgent.toLowerCase();
        if (agent.indexOf("safari") != -1) {
            //사파리
             chkBtm -= parseInt(window.innerHeight ? window.innerHeight : $window.height());
        } else {
             chkBtm -= parseInt($window.height());
        }        if(chkBtm <= scrollTop){
            roll_page++;
            if(roll_page <= total_page){
                callContent(roll_page,'append');
            }
        }else if(scrollTop == 0){
            now_page--;
            if(now_page > 0){
                callContent(now_page,'prepend');
            }
        }
    }, throttleTime), false);
    function callContent(a,b){
        if(b=='append'){
            $(".moreBtm").slideDown();
        }else{
            $(".moreTop").slideDown();
        }
        var url = "<?=G5_BBS_URL?>/board.php?bo_table=<?=$bo_table?>&page="+a;
        var tbody = "";
        var thtml = "";
        $.ajax({
            type:"POST",
            url:url,
            dataType : "html",
            success: function(html){
                
                tbody = html.split('<!-- ajax list start -->');
                thtml = tbody[1].split('<!-- ajax list end -->');
                setTimeout(function() { 
                    if(b=='append'){
                        $("#gall_ul").append(thtml[0]);
                    }else{
                        $("#gall_ul").prepend(thtml[0]);
                    }
                    $(".moreBar").slideUp();
                    
                    if(now_page == 1){
                        $(".topScroll").slideUp();
                    }
                    if(roll_page >= total_page){
                        $(".btmScroll").slideUp();
                    }
                }, 0);
                
            },
            error: function(xhr, status, error) {
                alert(error);
            }  
        });
    }
});
</script>
이 글을 내 페이스북 계정으로 보내기 이 글을 내 트위터 계정으로 보내기

이 질문에 댓글 쓰기 :

답변 1

채택됨

릴보이즈님의 답변

ㅇㅣ문제는 일반 자바스크립트나 제이쿼리로는 어렵고 뷰나 리액트를 써야되요 리액트에보면 스크룰 이동했을때 초기화 안되게 하는 방법이 있어요 그러니까 백그라운드로 해서 넘겨와도 그대로 남는게 있어요 

주소복사
채택됨
답변의 댓글
답변을 작성하시기 전에 로그인 해주세요.
전체 43,258
고마운 분의 도움으로 질문을 해결하셨다면, 채택을 눌러서 감사의 마음을 전하세요.
어떻게 질문해야 할지 모른다면 질문하는 방법을 읽어 보신후 질문해 보세요.
QA 내용 검색

회원로그인

진행중 포인트경매

  1. 참여8 회 시작20.12.02 04:36 종료20.12.09 04:36

(주)에스아이알소프트 (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 대표메일:admin@sir.kr
사업자등록번호:217-81-36347 대표:홍석명 통신판매업신고번호:2014-서울강남-02098호 개인정보보호책임자:이총

© SIRSOFT