제이쿼리 ( JQuery ) 예제

썸네일 클릭 - fadeIn( )

 

썸네일이미지슬라이드

 

코드펜 :  https://codepen.io/gamza/pen/bRxVaa?editors=1100

 

▣ 구상

  - 썸네일 클릭 시, 썸네일과 연결된 메인 이미지가 fadeIn( ) 으로 노출되어야 합니다.

 

 

▣ 조건

 ➊  썸네일 

   메인화면  

   페이드인 효과

 

 

▣ 준비

·  썸네일 이미지 3장     ( 90px * 80px )

·  메인 이미지 3장     ( 500px * 280px )

 

 

 

◆ 레이아웃 ( html, css )

1.  썸네일 영역 / 메인 영역을 div로 나눕니다.

2.  썸네일 영역(div)을 float : left 시켜 좌로 보냅니다.

3.  메인 영역을 썸네일의 width 만큼 오른쪽으로 옮깁니다.

4.  썸네일 클릭이벤트를 위해, 썸네일 이미지 <img> 를 <a> 로 감쌉니다.

 

● html

<body>
    <div class="thumbs">
        <a href="" title="image1"><img src="images/thumb_1.jpg" /></a>
        <a href="" title="image2"><img src="images/thumb_2.jpg" /></a>
        <a href="" title="image3"><img src="images/thumb_3.jpg" /></a>
    </div>
    <div id="mainImg"><img src="images/1.jpg" alt="image" /></div>
</body>

● css

body {
    margin:100px auto 0;
	padding:0;	
	width:620px;
	background-color:salmon;
}
.thumbs {
   width:100px;	
   float:left;
}
.thumbs img {
	border:1px solid #ccc;
	padding:5px;
	margin-bottom:3px;
}
.thumbs img:hover {
	border-color:tomato;
}

#mainImg {
	border:solid 1px #ccc;
	width:500px;
	height:280px;
	padding:5px;
    margin-left:110px;
}

 

 

 

◆ 기능 ( jquery )

1.  썸네일 클릭

2.  해당 썸네일 <a> 태그의 href 속성을 

3.  메인 영역 <img> 의 경로인 src 속성으로 전달

4.  메인 영역에 fadeIn() 시켜 노출

 

썸네일 클릭 시, 클릭된 요소 <a> 태그가 가지고 있는 href 속성에 연결된 이미지를 메인화면에 반영해야 합니다.

그러기 위해선 html 코드에 추가할 부분이 있습니다.

<a> 태그의 href 에, 각 썸네일과 매치된 메인 이미지의 src 주소를 입력합니다.

 

다음의 방식으로 추가합니다.

<a href="images/1.jpg" title="image1"><img src="images/thumb_1.jpg" /></a>

 

 

● javascript

$(function(){
	$(".thumbs a").click(function(){            //클릭 시
		var imgPath = $(this).attr("href");     //클릭한 a태그의 하이퍼링크를 변수저장
		$("#mainImg>img").attr({src:imgPath})   //메인 이미지의 주소 속성에 할당
        .hide()                                 //fadein()효과를 보여주기 위해 숨김처리
        .fadeIn();                              //fadeIn()
		return false;                           //<a> 의 본래기능 (하이퍼링크) 작동방지
	});
});

 

 

**

본 예제는 이전에 학습하였던 내용에 구현과정을 추가하여 정리한 소스입니다.

실제로 body에 레이아웃 설정을 하는 경우는 거의 없습니다. 

body를 대체할 부모요소로 div를 추가 하는 것이 일반적입니다.

댓글

댓글 본문