게시판 리스트 뒤로가기 질문
본문
안녕하세요.
게시판 리스트에서
제목을 눌러서 내용을 확인 후
뒤로 가기 버튼을 누르면
최상단 언저리로 돌아가 버립니다.
더보기 버튼을 눌러서
아래로 쭉 내리는 스킨을 사용중인데요
이것때문에 문제가 되는건지..
아이폰 에선 잘 되는데
안드로이드가 문제네요 ㅠ
소스는 아래와같습니다..
<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
ㅇㅣ문제는 일반 자바스크립트나 제이쿼리로는 어렵고 뷰나 리액트를 써야되요 리액트에보면 스크룰 이동했을때 초기화 안되게 하는 방법이 있어요 그러니까 백그라운드로 해서 넘겨와도 그대로 남는게 있어요
답변을 작성하시기 전에 로그인 해주세요.