스크롤 고정 버튼 js

스크롤 고정 버튼 js

QA

스크롤 고정 버튼 js

본문

http://bookmark.weblike.jp/niken/

위 테스트 사이트입니다.

 

아래의 코드로

우측에 고정되는 두개의 버튼(#infoTab)과,

페이지 맨 위로(#pageTop) 버튼을 만들었습니다.

 



$(window).load(function () {
    //pageTopへ
    var topBtn = $('#pageTop');
    $(window).bind("scroll", function () {
        winwd = $(window).width();
        scrollHeight = $(document).height();
        scrollPosition = $(window).height() + $(window).scrollTop();
        footHeight = $("footer").height();
        if (scrollHeight - scrollPosition <= footHeight - 13) { //footerからのmargin分
            topBtn.css({
                "position": "absolute",
                "right": "30px",
                "bottom": "auto",
                "top": (scrollHeight - footHeight - 53) + "px" //footerからのmargin分 + btn高さ
            });
            //topBtn.addClass('endP');
        } else {
            topBtn.css({
                "position": "fixed",
                "right": "30px",
                "bottom": "45px",
                "top": "auto"
            });
            //topBtn.removeClass('endP');
        }
    });
    
    //tabBtn.hide();
    topBtn.hide();
    
    $(window).scroll(function () {
        if ($(this).scrollTop() > 100) {
            topBtn.fadeIn();
        } else {
            topBtn.fadeOut();
        }
    });
    //var infoTab = $('#infoTab');
    var infoTab = $("#infoTab");
    infoTab.hide();
    $(window).scroll(function () {
        if ($(this).scrollTop() > 100) {
            infoTab.fadeIn();
        } else {
            infoTab.fadeOut();
        }
    });
});

 

 

・ pageTop버튼을 스크롤 하다가 맨 밑 .fBtmArea 위로 붙이고 싶어서요... (bottom으로부터 136px위)

여기저기 숫자를 바꿔보고, footer 부분을 .fBtmArea 로 바꿔보기도 했는데 잘 안움직이네요...

어느 부분을 수정하면 좋을까요?

 

・ 오른쪽에 fixed시킨 infoTab버튼이 스크롤하면서 깜빡거립니다 (모든 브라우저)

・ 오른쪽에 fixed시킨 infoTab버튼이 크롬 외의 브라우저에서 오른쪽에 붙어서 반쯤 가려지는데

왜 이러는걸까요?

 

아직  PC버전밖에 코딩을 안해서 브라우저를 작게 하면 막 무너집니다~

 

가르침 부탁드립니다~~~~

감사합니다.

 

 

 

이 질문에 댓글 쓰기 :

답변 1

infoTab 은 스타일에 width 값 넣어주면 되구요

 

스크롤은 $(window).scroll(function () { 부분에 아래처럼 추가하고

console.log($(this).scrollTop());

 

개발자 도구 -> 콘솔에서 해당 값 체크하면서 테스트해보세요.

아니면 fadeout 대신 hide 로 변경 해보시구요.

 

 

 

답변을 작성하시기 전에 로그인 해주세요.
전체 1,020
QA 내용 검색

회원로그인

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