상단으로 를 상하 이동 및 퍼센트 표시 하기
아래 내용으로 lib(테마/lib)에 button_top.php파일(첨부파일)을 만들어 넣으세요.
[code]
<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 = (scrollPos / windowHeight) * 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));
// 퍼센트 출력 끝.
// 다크모드 시작.
var xhr = new XMLHttpRequest();
xhr.open('HEAD', '<?php echo G5_THEME_CSS_URL?>/default_dark.css', false);
xhr.send();
if (xhr.status == "200") {
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");
}
} else {
// alert(xhr.status + "파일이 없습니다.");
}
// 다크모드 끝.
// 메뉴 상단고정 시작.
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>
[/code]
tail.sub.php 상단 ?>바로 위에 아래내용 추가
[code]$config['cf_theme'] ? include_once(G5_THEME_PATH.'/lib/button_top.php') : include_once(G5_PATH.'/lib/button_top.php');[/code]
댓글 6개
1. /lib 폴더에 넣은 경우
include_once(G5_PATH.'/lib/button_top.php');
2. /theme/사용테마/lib 폴더에 넣은 경우
include_once(G5_THEME_PATH.'/lib/button_top.php')
게시판 목록
개발자팁
질문은 QA에서 해주시기 바랍니다.
| 번호 | 분류 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|---|
| 4916 | 웹서버 | 6년 전 | 2861 | ||
| 4915 | PHP |
|
6년 전 | 2180 | |
| 4914 | 웹서버 | 6년 전 | 1890 | ||
| 4913 | JavaScript | 6년 전 | 2597 | ||
| 4912 | node.js | 6년 전 | 3709 | ||
| 4911 | 기타 | 6년 전 | 4189 | ||
| 4910 | 기타 | 6년 전 | 2275 | ||
| 4909 | 기타 | 6년 전 | 1980 | ||
| 4908 | 기타 | 6년 전 | 2013 | ||
| 4907 | Mobile | 7년 전 | 2284 | ||
| 4906 | JavaScript | 7년 전 | 2287 | ||
| 4905 | 기타 | 7년 전 | 2271 | ||
| 4904 | jQuery | 7년 전 | 2513 | ||
| 4903 | PHP | 7년 전 | 5223 | ||
| 4902 | jQuery | 7년 전 | 5127 | ||
| 4901 | 기타 | 7년 전 | 2705 | ||
| 4900 | MySQL | 7년 전 | 4110 | ||
| 4899 | 기타 | 7년 전 | 2264 | ||
| 4898 | 웹서버 | 7년 전 | 2447 | ||
| 4897 | MySQL | 7년 전 | 2198 | ||
| 4896 | MySQL | 7년 전 | 2632 | ||
| 4895 | JavaScript | 7년 전 | 9768 | ||
| 4894 | 웹서버 | 7년 전 | 2356 | ||
| 4893 | 기타 | 7년 전 | 8314 | ||
| 4892 | jQuery | 7년 전 | 5678 | ||
| 4891 | 기타 | 7년 전 | 2831 | ||
| 4890 | PHP | 7년 전 | 3413 | ||
| 4889 | JavaScript | 7년 전 | 6374 | ||
| 4888 | MySQL | 7년 전 | 3132 | ||
| 4887 | MySQL | 7년 전 | 2761 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기