상단으로 를 상하 이동과 퍼센트 표시하기(다크모드추가) > 그누보드5 팁자료실

그누보드5 팁자료실

상단으로 를 상하 이동과 퍼센트 표시하기(다크모드추가) 정보

상단으로 를 상하 이동과 퍼센트 표시하기(다크모드추가)

첨부파일

button_top.zip (1.4K) 12회 다운로드 2024-01-10 19:07:19
basic_updown_dark.zip (50.5K) 4회 다운로드 2023-07-27 14:14:32

본문

[재 업로드]

33282748_1689751832.1396.png 이렇게 됩니다.

 

1. 파일(button_top.php)을 /lib 또는 /theme/사용테마/lib 에 넣으세요.

2. tail.sub.php의 제일 위쪽 ?>바로 위에 아래를 복사하여 붙여넣기 하세요.


$config['cf_theme'] ? include_once(G5_THEME_PATH.'/lib/button_top.php') : include_once(G5_PATH.'/lib/button_top.php');

끝..

 

button_top.php 내용


<button type="button" id="button_top">
  <i class="fa fa-arrows-v" aria-hidden="true"></i><span class="sound_only">상단으로</span>
</button>
<script>
jQuery(function($) {
  var $elem = $("html, body");
  var where = 0;
  $("#button_top").on("click", function() {
    var windowHeight = $(document).height() - $(window).height();
    var winhalf = windowHeight * 0.5; // Calculate the new winhalf value
    if ($elem.scrollTop() < winhalf) {
      $elem.animate({ scrollTop: $elem.prop("scrollHeight") }, 400);
      where = 1;
    } else {
      $elem.animate({ scrollTop: 0 }, 400);
      where = 0;
    }
  });
});
$(document).ready(function() {
  $(window).scroll(function() {
    var windowHeight = $(document).height() - $(window).height();
    var winhalf = windowHeight * 0.5; // Calculate the new winhalf value
    var scrollPos = $(document).scrollTop();
    var scrollPercent = (window.scrollY / (document.documentElement.scrollHeight - window.innerHeight)) * 100;
    var $buttonTop = $('#button_top'); // Selector variable
    if (scrollPos > winhalf) {
      $buttonTop.css({
        "border-color": "red",
        "color": "red"
      }).html("<i class='fa fa-arrow-up' aria-hidden='true'></i>");
    } else {
      $buttonTop.css({
        "border-color": "blue",
        "color": "blue"
      }).html("<i class='fa fa-arrow-down' aria-hidden='true'></i>");
    }
    if ($('#scroll_percentage').length === 0)
        {
            $('<p id="scroll_percentage"></p>').appendTo($buttonTop);
        }
        $('#scroll_percentage').text(Math.round(scrollPercent));
    <?php if(file_exists(G5_THEME_PATH.'/css/default_dark.css')){ ?>
        if (scrollPos > 100 && scrollPos < 200) {
          $('#button_top').css("display", "none");
          $('.fix_ch').css("display", "block");
        } else {
          $('.fix_ch').css("display", "none");
          $('#button_top').css("display", "block");
        }
    <?php } ?>
    if (!g5_is_mobile) {
        $('#gnb').css({
          "display": "block",
          "z-index": "10000"
        });
        if (scrollPos > 186) {
          $('#gnb').css({
            "position": "fixed",
            "top": "0",
            "width": "100%"
          });
        } else {
          $('#gnb').css({
            "position": "relative"
          });
        }
    }
  });
});
</script>
<style>
  #top_btn, .fix_ch {
    display:none
  }
  #button_top {
    position: fixed;
    bottom: 20px;
    right: 3px;
    width: 43px;
    height: 43px;
    line-height: 40px;
    border-radius: 50%;
    border: 1px solid #33333310;
    color: #333;
    text-align: center;
    font-size: 15px;
    z-index: 220;
    background: rgba(255, 255, 255, 0.5);
  }
  #button_top:hover {
    border-color: #3059c750;
    background: #3059c750;
    color: #333;
  }
  #scroll_percentage {
    font-size: 12px;
    margin-top: -27px;
    font-weight: bold;
    z-index: 999;
  }
</style>

스크롤 시 메뉴가 상단에 고정됨니다.

추천
7

댓글 7개

출력코드를 저렇게 하면, /lib폴더에 넣고 테마 tail에 불러올 때 못 불러오더라구요.
그냥 출력코드를 깔끔하게, /lib 폴더에 넣은 경우와 테마안 lib폴더에 넣은 경우 사용하는 코드를 달리해서 정리해주는 게 좋을 듯 합니다.
sinbi님 감사 합니다. tail.sub.php위치의 lib폴더를 생각 한 건데, 가끔 테마를 사용하지 않는 사람들도 있어서..  설명이 부족했습니다.
전체 2,432 |RSS
그누보드5 팁자료실 내용 검색

회원로그인

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