ΛneOK v4 blog

일상의 잡다한 생각과 내용을 글 또는 사진으로 표현하는 일상 블로그입니다.

# Side Menu
  • recentPost

  • popularPost

  • Archive

  • recentComment

Study/Html_Css

[백업] Top버튼 만들기 4가지 방법

2020. 11. 23., AneOK
728x90

웹 사이트 글을 읽다 보면 너무 긴 페이지에 위로 가기가 불편합니다. 홈페이지나 블로그 아래에 맨 위로 버튼을 만들어 놓으면 무척이나 편합니다. 간단히 만드는 방법에 대해 알아봅시다.

참고로 새로운 것은 아니고요. 기존의 인터넷에 있는 것을 모아 보았습니다.

1. 간단히 텍스트로 만들기(html)

간단하게 먼저 시작 하겠습니다. html의 a태그를 이용 만들어 보겠습니다.

<body><a name="Top"></a>

...  

<a href="#Top">TOP</a>

위의 것은 a태그 name을 이용 Top버튼 만들기 입니다.

<body id="pageTop">

...  

<a href="#pageTop">TOP</a>

그리고 a태그name를 이용할 필요없이 선택자인 id를 이용 해도 됩니다.

<a href="#">TOP</a>

또하나 위치 하고 상관없이 처음으로 가기는 #만 하셔도 됩니다.

밑의 예제를 참조.

 

위치 지정 버튼(간단)

이 부분은 많은 소스이 있습니다. 그중에 html로만 만들 수 있게 초 간단 부분입니다.

<a style="display:scroll;position:fixed;bottom:10px;right:5px;" href="#" title=”top">TOP</a> 
</body> 
</html>

a태그에 스타일(style)문을 사용 좌측하단에 스크롤과 관계없이 고정되게 되어 있습니다.

위의 예제 중에 position:fixed;는 화면 고정(fixed), bottom:10px;right:5px;를 조정하여 위치도 변경 가능합니다.

또한 되도록 보기 좋게 html소스의 마지막에 위치시키면 관리가 편리합니다.

 

- 덤 (이미지 넣기)

텍스트 대신 이미지를 넣으셔도 됩니다.

<a style="..." href="#"><img src="이미지 주소"></a>

 

2. 주소뒤 '#' 안 붙게 만들기

스타일 부분 (공통)

.topBtn

html 부분

<div class=topBtn onclick="window.scrollTo(0,0);">TOP</div>
<span class=topBtn onclick="window.scrollTo(0,0);">TOP</span>
<a href="javascript:window.scrollTo(0,0);">TOP</a>

위의 3개중 하나 만 써도 됩니다.

설명

cursor:pointer : 마우스 커서를 손가락 모양으로 변경해 주는 스크립트

onclick : 클릭시

window.scrollTo 를 사용해서 (x,y) 를 (0,0) 으로 이동 시켜 주는 스크립트.

나머지는 위에 중복

밑의 예제 참조

 

 

3. 조금 복잡하게 만들기(Html/Css/JQuery)

위의 것은 간단하게 만드는 부분이고 이제부터 조금 스무스하게 올라가는 버튼을 만들려고 합니다. JQuery문을 사용하여 만드는 방법입니다. 지금 이 블로그에 약간 변형해서 사용 중입니다.

일단 jQuery를 문서에 삽입합니다.

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>

html파일

<a id="topBtn" href="#">TOP</a>

스타일 부분

a#topBtn { 
	position: fixed; /* 포지션 고정 */ 
	right: 2%; /* 오른쪽에서 2% - %도 할수 있음*/ 
	bottom: 5px; /* 밑에서 5px */ 
	display: none; /* 보여지지 없음 - 기본적으로 안보여지게 */ 
	z-index: 9999; /* 포지션을 먼저 지정후 z-좌표(레이어) : 9999입니다. */ 
}

jQuery 부분

$(function() { // 보이기 | 숨기기
	$(window).scroll(function() {
    if ($(this).scrollTop() > 250) { //250 넘으면 버튼이 보여짐니다. 
      $('#topBtn').fadeIn();
    } else {
      $('#topBtn').fadeOut();
    }
  }); // 버튼 클릭시 
  $("#topBtn").click(function() { 
  	$('html, body').animate({ scrollTop : 0 // 0 까지 animation 이동합니다. 
  	}, 400); // 속도 400 
  	return false; 
  }); 
});

밑의 예제 참조

 

4. top버튼 특정 위치에 나타나기

위의 부분에서 특정 위치(여기서는 사이드바의 x좌표 0)에 나타나는 부분을 만들어 보겠습니다. 즉, 사이드바에 붙어 다니는 top버튼 입니다.

.offset() 함수를 이용하겠습니다.

설명은 : http://api.jquery.com/offset/

offset함수는 밑에서 높이가 없어서 css에 넣습니다.

html파일

<a id="toTop" href="#">TOP</a>

스타일 부분

#toTop {
	position: fixed; 	/* 포지션 고정 */
	bottom: 100px; 		/* 밑에서 100px */
	display: none; 		/* 보여지지 없음 - 기본적으로 안보여지게 */
	z-index: 9999; 		/* 포지션을 먼저 지정후 z-좌표(레이어) : 9999입니다. */
}

jQuery 부분

$(function() { // 보이기 | 숨기기 
	$(window).scroll(function() { 
		if ($(this).scrollTop() > 250) { //250 넘으면 버튼이 보여짐니다. 
			$('#toTop').fadeIn(); 
			$('#toTop').css('left', $('#sidebar').offset().left); // #sidebar left:0 죄표 
		} else { 
			$('#toTop').fadeOut(); 
		} 
	}); 
	// 버튼 클릭시 
	$("#toTop").click(function() { 
		$('html, body').animate({ scrollTop : 0 // 0 까지 animation 이동합니다. 
		}, 400); // 속도 400 return false; 
	}); 
});

밑의 예제 참조

 

2017. 12. 17. 15:08

v3 Blog - 글 백업

728x90