반응형



[javascript] 간단한 탭메뉴 구현하기


 예전에 보다 간단한 탭메뉴를 찾으려 열심히 구글링했던 때가 있었는데요, 

거기서 단비처럼 찾아낸 탭메뉴를 구현해볼까 합니다. 코드도 무척 단순해서 따라하시기 쉬우실거에요.

먼저  CSS에 해당 소스를 넣어주세요. html의 <style></style> 사이로 넣어주셔도 좋습니다.



body{
	margin-top: 100px;
	font-family: 'Trebuchet MS', serif;
	line-height: 1.6
}
.container{
	width: 500px;
	margin: 0 auto;
}



ul.tabs{
	margin: 0px;
	padding: 0px;
	list-style: none;
}
ul.tabs li{
	background: none;
	color: #222;
	display: inline-block;
	padding: 10px 15px;
	cursor: pointer;
}

ul.tabs li.current{
	background: #ededed;
	color: #222;
}

.tab-content{
	display: none;
	background: #ededed;
	padding: 15px;
}

.tab-content.current{
	display: inherit;
}


그 다음 html에 탭에 넣을 내용들을 적어넣습니다. 
ul.tas의 li는 탭을 누를 메뉴가 되고 그 아래, class값이 tab-content인 부분들은 전부 메뉴의 내용들이 됩니다.


  <div class="container">

	<ul class="tabs">
		<li class="tab-link current" data-tab="tab-1">메뉴_하나</li>
		<li class="tab-link" data-tab="tab-2">메뉴_둘</li>
		<li class="tab-link" data-tab="tab-3">메뉴_셋</li>
	</ul>

	<div id="tab-1" class="tab-content current">
---- ---- -------- ---- ---- ---- ---- ---- ---- -------- ---- ---- ---- ---- ---- ---- -------- ---- ---- ---- ---- ---- ---- -------- ---- ---- ---- ---- ---- ---- -------- ---- ---- ---- ---- ---- ---- -------- ---- ---- ---- ----
	</div>
	<div id="tab-2" class="tab-content">
---- ---- ★------ ---- ---- ---- ---- ---- ---- -------- ---- ---- ---- ---- ---- ---- -------- ---- ---- ---- ★-- ---- ---- ------★ ---- ---- ---- ---- ---- ---- -------- ---- ---- ---- ---- ---- ---- ★------ ---- ---- ---- ----
	</div>
	<div id="tab-3" class="tab-content">
---- ★-- -------- ---- ---- ---- -★- ---- ---- -------- ---- -★- ---- ---- ---- ---- -------- ---- ---- ---- ---- ---- --★ -------- ★-- ---- ---- ---- ---- ---- -------- ---- ---- --★ ---- ---- ---- -------- ---- ---- ---- --★
	</div>

</div>


마지막으로 javascript에 해당 소스를 넣어주면 끝이 납니다.



$(document).ready(function(){
	
	$('ul.tabs li').click(function(){
		var tab_id = $(this).attr('data-tab');

		$('ul.tabs li').removeClass('current');
		$('.tab-content').removeClass('current');

		$(this).addClass('current');
		$("#"+tab_id).addClass('current');
	})

})







참고: https://codepen.io/cssjockey/pen/jGzuK

반응형
반응형



[JQueryRotate] 이미지 회전 애니메이션


이미지를 회전하게 만들어주는 제이쿼리 플러그인입니다. 


이미지를 계속 회전하게 만들 수도 있고 45도 각도로 이미지를 기울일 수도 있고 

마우스 오버할 때, 또는 클릭할 때 이미지를 회전하게 만들 수 도 있죠. 

여러가지 방법들이 있지만 그 중 이미지를 계속 빙글빙글 돌아가게 만드는 예제를 소개할까 합니다. 


먼저 jquery plugin 파일을 다운로드 받아주세요.


jQueryRotateCompressed.js


다운로드 받은 js(jQueryRotateCompressed.js)를 폴더에 넣어주시고 스크립트를 html으로 넣어줍니다.



<script src="jQueryRotateCompressed.js"></script>



그 다음 빙글빙글 돌아가게 만드는 이미지를 <body> 안에 넣어주시는데 이미지의 id값은 image로 주시고

 해당 스크립트를 돌아가게 만들 스크립트 소스를 </body> 앞에 넣어줍니다.



<img src="---.jpg" id="image">



var angle = 0;
setInterval(function(){
      angle+=3;
     $("#image").rotate(angle);
},50);


완성된 데모페이지는 아래 URL에서 확인하실 수 있습니다.

보시는 것처럼 제이쿼리플러그인과 스크립트로 쉽고 간단하게 이미지를 회전시킬 수 있죠.


http://jsfiddle.net/xpdd0vz2/ (데모페이지)



내용을 단순하게 정리하기는 했지만 이것이 부족하다고 느끼시는 분들은 

이미지를 회전시키는 다양한 방법과 응용은 참조 페이지 안에서 참고 부탁드립니다.


참조 :  http://jqueryrotate.com/



반응형
반응형



[lazy load] 이미지 로딩을 지연시켜주는 이미지 플러그인



lazy는 게으른, 느릇한, 여유로운을 뜻하는 형용사입니다. 

단어의 뜻 그대로 lazyload는 게으른 이미지 로딩 플러그인을 뜻하는데요. 

즉 lazy load plugin은 화면에 보이는 영역의 이미지만 동적으로 로딩시켜 페이지의 로딩속도 향상, 

서버의 트래픽 절감 시켜주는 효과를 주는 이미지 플러그인입니다. 

말로 설명하자니 뭔가 체감이 안되실텐데요. 먼저 예제 사이트를 보시죠.



http://appelsiini.net/projects/lazyload/fadein/



해당 사이트처럼 이미지들이 전부 나오는게 아니라 이미지가 보고 있는 영역에 도달해야지만 로딩이 되게끔 보여지고 있습니다. 

세팅하는 방법도 무척 단순하죠. 아래 URL로 들어가시면 플러그인을 받을 수 있는 github 다운로드 페이지가 뜹니다. 

페이지에서 해당 파일을 다운받아주세요. 페이지가 열리지 않는다면 여기서 다운받아주세요.


https://plugins.jquery.com/lazyload/

jquery.lazyload.min.js



파일을 받으셨다면 jquery.lazyload.min.js 파일을 폴더에 넣고 아래 스크립트를 </head> 안의 ctrl+c, ctrl+v 해주세요.


<script src="jquery.lazyload.min.js"></script>


html 안의 이미지를 넣을 부분에 class를 lazy라고 표기해주세요. (이미지들은 가지고 계신 이미지들을 넣어주시면 됩니다.)


<img class="lazy" src="...">
<img class="lazy" src="...">
<img class="lazy" src="...">


마지막으로 lazyload를 실행시키기 위한 스크립트를 넣어주면 완성입니다.


$("img.lazy").lazyload({
	effect : "fadeIn"
});


참조 :  http://appelsiini.net/projects/lazyload/



이 글을 올린 지가 2017년이었는데 덧글이 달려있어 오랜만에 확인해보니 

버전이 업데이트 되서 작동을 하지 않는 이슈가 있었다는 걸 뒤늦게 알게 되었습니다 ㅠㅠ

버전 1.8.2의 lazyload 플러그인 내용으로 수정된 파일과 변경된 페이지를 공유드립니다. 내용 참고 부탁드립니다.


https://appelsiini.net/projects/lazyload/



반응형