웹디자이너 일을 하는 10몇년 지기로부터 간단한 자바스크립트를 개발을 부탁받았습니다.

 

기능요구사항들이 쉬운편이어서 개발요청을 받아들여,

오랜만에 자바스크립트 코딩을 했습니다.

다음에 소주한잔 얻어먹으면 됩니다~  <<=== 날짜 잡으시오~~ 손 사장~~~~

 

아래의 소스 샘플은 매우 복잡한 기능을 구현한 내용은 아니지만,

이런 정도의 소스들도 개발하려면 자잘한 시간이 필요하니,

아래 샘플을 복사해다가 유용하게 사용하시면 되겠습니다~~

 

※ 아래의 샘플 소스는

    저의 허락없이 마음껏 무한배포, 자유 공유 및 수정편집을 해도 됩니다~~

 

1. 기능 정의

(1) 아래쪽에 작은 섬네일 이미지를 클릭하면, 상단에 큰 이미지가 보여진다.

(2) 큰 이미지 좌우로 이전과 다음 이미지 보기 아이콘이 있어서,

     섬네일 표시 순서에 따라 큰 이미지가 보여진다.

(3) 일정 시간차를 두고 전체 이미지 목록을 슬라이드 보기가 된다.

(4) 슬라이드 실행과 종료 아이콘이 상황에 따라 변경되어 보여진다.

 

 

2. 소스 및 샘플 이미지

 - 샘플 소스명 : show_image.html

 - 이미지 경로 디렉토리 : ./img/

 - 샘플 소스 및 이미지 다운로드 :   이미지 갤러리 보기를 위한 자바스크립트.zip

 

3. 무한공유 소스

<html>
<title>황사마(urajilation@gmailcom)의 이미지 갤러리 스크립트</title>
<!--
********************************************************************************
 - 제  목 : 황사마(urajilation@gmailcom)의 이미지 갤러리 스크립트
 - 작성일 : 2013년 4월 11일
 - 저작권 : 이 샘플 소스 및 스크립트는 자유롭게 사용 및 수정, 배포하여도 됩니다.
 - 기능 정의
   (1) 아래쪽에 작은 섬네일 이미지를 클릭하면, 상단에 큰 이미지가 보여진다.
   (2) 큰 이미지 좌우로 이전과 다음 이미지 보기 아이콘이 있어서,
     섬네일 표시 순서에 따라 큰 이미지가 보여진다.
   (3) 일정 시간차를 두고 전체 이미지 목록을 슬라이드 보기가 된다.
   (4) 슬라이드 실행과 종료 아이콘이 상황에 따라 변경되어 보여진다.
********************************************************************************
-->
<script language="javascript">

/************************************************************
페이지가 오픈될 때 디폴트로 보여줄 이미지를 초기화시킨다.
*/
function initiate_img()
{
 // 작은 이미지의 총 갯수 초기화
 document.getElementById('count_img_no').value = 5;
 current_img_no = 1;
 
 set_img(current_img_no);
 
}
/************************************************************
작은 이미지를 클릭했을 때 관련된 큰 이미지를 보여준다.
*/
function show_big_img(current_img_no)
{
 // 슬라이드 보기 진행중인 경우 슬라이드보기를 중지시킨다.
 if (document.getElementById('slide_show_yn').value == "Y")
 {  
  document.getElementById('slide_show_yn').value = "N";
  document.getElementById('slide_icon').src = "./img/start.JPG";
  clearInterval(slideObj);  
 }
 
 set_img(current_img_no); 
 
}

/************************************************************
다음 이미지 보기 버튼을 클릭할 때
*/
function next_img()
{
  count_img_no = document.getElementById('count_img_no').value;
 
  // 현재 이미지가 마지막 이미지이면, 첫번째 이미지를 불러온다.
  if (document.getElementById('current_img_no').value == count_img_no)
  {
   current_img_no = 1;
  } else {
    current_img_no = eval(document.getElementById('current_img_no').value) + 1;
  }

 set_img(current_img_no); 
 
}
/************************************************************
이전 이미지 보기 버튼을 클릭할 때
*/
function previous_img()
{
   count_img_no = document.getElementById('count_img_no').value;
 
  // 현재 이미지가 첫번째 이미지이면, 마지막 이미지를 불러온다.
  if (document.getElementById('current_img_no').value == 1)
  {
   current_img_no = count_img_no;
  } else {
    current_img_no = eval(document.getElementById('current_img_no').value) - 1;
  }

 set_img(current_img_no); 
 
}

/************************************************************
슬라이드 보기/종료 Icon을 Toggle 시킨다.
*/
var slideObj; // 시간지연 처리
function slide_event()
{
 if (document.getElementById('slide_show_yn').value == "N")
 {
  document.getElementById('slide_show_yn').value = "Y";
  document.getElementById('slide_icon').src = "./img/stop.JPG";
  slide_second = eval(document.getElementById('slide_second').value); 
  slideObj = setInterval("next_img()", slide_second * 1000);
  
 } else {
  document.getElementById('slide_show_yn').value = "N";
  document.getElementById('slide_icon').src = "./img/start.JPG";
  clearInterval(slideObj);
  
 } 
}

/************************************************************
이미지 정보를 셋팅한다.
*/
function set_img(current_img_no)
{
 // 작은 이미지의 총 갯수 초기화
 document.getElementById('current_img_no').value = current_img_no; 
 document.getElementById('b_img').src = "./img/" + "b_" + current_img_no + ".JPG"; 
}

</script>

<body onload="initiate_img()">
<center>
<form name="gallery">
 <input name="count_img_no" value="" type="hidden">
 <input name="current_img_no" value="" type="hidden">
 <input name="slide_show_yn" value="N" type="hidden">
  
<table width="80%">
<tr>
<td colspan="4" align="center">(슬라이드 실행간격 : <input name="slide_second" value="3"> 초)<br>
 <img onClick="javascript:previous_img()"src="./img/previous.jpg">
 <img id="slide_icon" onClick="javascript:slide_event()" src="./img/start.jpg">
 <img onClick="javascript:next_img()" src="./img/next.jpg">
</td>
</tr> 
<tr>
<td colspan="4" align="center"><img id="b_img" src=""></td>
</tr>
<tr>
<td><img id="s_1" onClick="javascript:show_big_img(1)" src="./img/s_1.jpg">&nbsp;</td>
<td><img id="s_2" onClick="javascript:show_big_img(2)" src="./img/s_2.jpg">&nbsp;</td>
<td><img id="s_3" onClick="javascript:show_big_img(3)" src="./img/s_3.jpg">&nbsp;</td>
<td><img id="s_4" onClick="javascript:show_big_img(4)" src="./img/s_4.jpg">&nbsp;</td>
</tr>
<tr>
<td><img id="s_5" onClick="javascript:show_big_img(5)" value="5" src="./img/s_5.jpg">&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
</table>
</form>
</center>
</body>
</html>

 

 

 

 

Posted by 우라질레이터

urajilation@gmail.com
우라질레이터

달력

태그목록