자바스크립트를 이용한 슬라이드 형식 갤러리
하단의 태그 중 이미지만 변경하시면 됩니다.
< 예제 >
----------------------------- 소스 시작 ---------------------------------
<html>
<head>
<title>http://www.uplusweb.kr</title>
<style type="text/css">
html {
overflow: hidden;
}
body {
margin: 0px;
padding: 0px;
background: #000;
position: absolute;
width: 100%;
height: 100%;
}
#diapo {
position: absolute;
left: 0%;
top: 10%;
width: 100%;
height: 80%;
background: #000;
overflow: hidden;
}
#slider {
position: absolute;
width: 100%;
height: 80%;
}
#slider img {
border: none;
position:absolute;
visibility: hidden;
filter: alpha(opacity=40);
opacity: 0.4;
}
#button {
position: absolute;
overflow: hidden;
}
#legend {
position: absolute;
font-family: arial, helvetica, verdana, sans-serif;
background: #111;
}
#button span {
position:absolute;
height: 100%;
}
#button span:hover {
background:#FFF;
}
.loaded {
background: #666;
cursor: pointer;
}
.selected {
background: #FFF;
}
#title {
float: left;
margin-left: 0.5em;
color: #fff;
}
#txt {
float: left;
margin: 0.5em;
margin-left: 2em;
color: #bbb;
}
#credit {
position: absolute;
color: #888;
font-family: arial;
font-size: 0.6em;
width:99%;
text-align: right;
bottom: 2px;
}
</style>
<script type="text/javascript">
id = function(o){return document.getElementById(o);}
position = function(o, css){for(var i in css)o.style[i]=Math.round(css[i])+'px';}
setOpacity = function(o,alpha){
if(o.filters)o.filters.alpha.opacity = alpha*100;
else o.style.opacity = alpha;
}
diapo = {
N:0,
W:0,
H:0,
image_ratio:4/3,
ims:0,
imx:[],
tit:[],
txt:[],
thu:0,
pos:0,
xc:0,
xd:0,
xm:0,
dt:0,
xs:0,
move:false,
slide:function(){
with(this){
// ===== scrolling loop =====
xm += xs;
xc += (dt*xm*.01);
id("slider").style.left = Math.round(xc)+"px";
if (xm == 10) xs = -1;
if (xm) setTimeout("diapo.slide();", 16);
else {
// ===== enlighten pic =====
for(var i=.5;i<=1;i+=.1)setTimeout("setOpacity(diapo.ims[diapo.pos], "+i+")", 160*i);
setTimeout("diapo.move=false", 160);
}
}
},
cxd:function(p){
with(this){
// ===== calculates slider position =====
if(W/H>image_ratio){
wi = Math.round(H*(ims[p].width/ims[p].height));
xd = -imx[p]+((W-wi)/2);
} else xd = -imx[p];
// ===== display text =====
thu[p].className = "selected";
id("title").innerHTML = tit[p];
id("txt").innerHTML = txt[p];
}
},
scroll:function(p){
with(this){
if(move){
// ===== already scrolling: queue event =====
setTimeout("diapo.scroll("+p+");", 128);
} else {
if(thu[p].className == "loaded"){
// ===== start scrolling =====
cxd(p);
setOpacity(ims[pos], .4);
thu[pos].className = "loaded";
pos = p;
dt = xd-xc;
xm = 0;
xs = 1;
move = true;
slide();
}
}
}
},
pos_button:function(x,y,w){
with(this){
// ===== button bar & text positioning =====
position(id("button"), {'left':x,'top':y+3,'width':w,'height':H/20});
position(id("legend"), {'left':x,'top':y+6+H/20,'width':w,'height':H});
position(id("title"), {'fontSize':Math.max(16,H/16)});
position(id("txt"), {'fontSize':Math.max(8,H/32)});
thu = id("button").getElementsByTagName("span");
for(var i=0;i<N;i++){
var wi = Math.round(w/N)-3;
position(thu[i], {'left':2+i*(wi+3),'width':wi});
if(ims[i].complete)thu[i].className = (i==pos)?"selected":"loaded";
}
}
},
resize:function(){
with(diapo){
// ===== resize layout =====
W=id("slider").offsetWidth;
H=id("slider").offsetHeight;
var w=0;
var h=0;
var x=0;
for(var i=0;i<N;i++){
if(ims[i].complete){
w=ims[i].width;
h=ims[i].height;
ims[i].style.visibility="visible";
setOpacity(ims[i], (i==pos)?1:.4);
if(W/H>image_ratio){
// ===== horizontal centering =====
wi = Math.round(H*(w/h));
position(ims[i], {'left':x,'top':0,'width':wi,'height':H});
imx[i] = x;
x += wi+3;
if(i==0) pos_button((W-wi)/2,H,wi);
} else {
// ===== vertical centering =====
hi = Math.round(W/(w/h));
position(ims[i], {'left':x,'top':(H-hi)/2,'width':W,'height':hi});
imx[i] = x;
x += W+3;
if(i==0) pos_button(0,hi+(H-hi)/2,W);
}
}
if(xs==0)xc=xd;
}
// ===== reajust scroll position =====
if(!move){
cxd(pos);
position(id("slider"), {'left':xd});
}
}
},
images_load:function(){
with(this){
// ===== loop until all images are loaded =====
var M=0;
for(var i=0;i<N;i++) if(ims[i].complete) M++;
if(!move && ims[0].complete) resize();
if(M<N || move) setTimeout("diapo.images_load();", 128);
}
},
init:function(){
with(this){
// ===== images source =====
ims = id("slider").getElementsByTagName("img");
N = ims.length;
// ===== create buttons =====
for(var i=0;i<N;i++) {
o = document.createElement("span");
tit[i] = ims[i].title;
txt[i] = ims[i].alt;
ims[i].title = "";
ims[i].alt = "";
o.onmousedown = new Function("diapo.scroll("+i+");");
id("button").appendChild(o);
}
images_load();
}
}
}
</script>
</head>
<body>
<div id="diapo">
<div id="slider">
<!--이곳에 갤러리 이미지를 포함하세요-->
<img src=http://cbingoimage.naver.com/data/bingo_92/imgbingo_92/kinisky/29847/kinisky_37.jpg title="이미지 1">
<img src=http://cbingoimage.naver.com/data3/bingo_82/imgbingo_29/mony87/29907/mony87_87.jpg title="설명 2">
<img src=http://cbingoimage.naver.com/data3/bingo_5/imgbingo_45/tok888/24617/tok888_118.jpg title="설명 3">
<img src=http://cbingoimage.naver.com/data/bingo_92/imgbingo_92/kinisky/29847/kinisky_37.jpg title="설명 4">
<img src=http://cbingoimage.naver.com/data3/bingo_98/imgbingo_84/windyemail/30864/windyemail_13.jpg title="설명 5">
<img src=http://cbingoimage.naver.com/data3/bingo_5/imgbingo_99/hanb5/29359/hanb5_12.jpg title="설명 6">
<img src=http://cbingoimage.naver.com/data3/bingo_56/imgbingo_91/seulkee0926/37699/seulkee0926_27.jpg title="설명 7">
<img src=http://cbingoimage.naver.com/data3/bingo_40/imgbingo_79/sashin60/37578/sashin60_4.jpg title="설명 8">
<img src=http://cafe.naver.com/ViewImage.nhn?img=http://cafefiles.naver.net/data24/2006/5/30/192/%BC%DB%C7%FD%B1%B36.jpg title="설명 9">
<!--이곳에 갤러리 이미지를 포함하세요-->
</div>
<div id="button"></div>
<div id="legend">
<span id="title"></span>
<span id="txt"></span>
</div>
</div>
<script type="text/javascript">
// ===== start script while loading images =====
function dom_onload() {
if(id("slider")) diapo.init(); else setTimeout("dom_onload();", 128);
}
dom_onload();
// ===== window resize event =====
onresize = diapo.resize;
// ================================================
</script>
</body>
</html>
----------------------------- 소스 끝 -------------------------------
게시판 목록
프로그램
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 7830 | 9년 전 | 368 | ||
| 7829 |
|
9년 전 | 547 | |
| 7828 | 9년 전 | 480 | ||
| 7827 | 9년 전 | 367 | ||
| 7826 | 9년 전 | 373 | ||
| 7825 | 9년 전 | 428 | ||
| 7824 | 9년 전 | 415 | ||
| 7823 | 9년 전 | 315 | ||
| 7822 | 9년 전 | 314 | ||
| 7821 | 9년 전 | 261 | ||
| 7820 | 9년 전 | 313 | ||
| 7819 |
|
9년 전 | 714 | |
| 7818 | 10년 전 | 334 | ||
| 7817 | 10년 전 | 444 | ||
| 7816 | 10년 전 | 352 | ||
| 7815 | 10년 전 | 553 | ||
| 7814 | 10년 전 | 373 | ||
| 7813 | 10년 전 | 311 | ||
| 7812 | 10년 전 | 340 | ||
| 7811 | 10년 전 | 359 | ||
| 7810 | 10년 전 | 484 | ||
| 7809 | 10년 전 | 430 | ||
| 7808 | 10년 전 | 281 | ||
| 7807 | 10년 전 | 346 | ||
| 7806 |
프로그래머7
|
10년 전 | 1301 | |
| 7805 | 10년 전 | 1209 | ||
| 7804 |
zahir1312
|
10년 전 | 739 | |
| 7803 |
|
10년 전 | 1339 | |
| 7802 | 10년 전 | 393 | ||
| 7801 | 10년 전 | 823 | ||
| 7800 | 10년 전 | 1035 | ||
| 7799 | 10년 전 | 496 | ||
| 7798 | 10년 전 | 443 | ||
| 7797 | 10년 전 | 443 | ||
| 7796 | 10년 전 | 297 | ||
| 7795 | 10년 전 | 449 | ||
| 7794 | 10년 전 | 473 | ||
| 7793 | 10년 전 | 989 | ||
| 7792 | 10년 전 | 398 | ||
| 7791 | 10년 전 | 479 | ||
| 7790 | 10년 전 | 448 | ||
| 7789 |
fbastore
|
10년 전 | 1386 | |
| 7788 | 10년 전 | 482 | ||
| 7787 | 10년 전 | 344 | ||
| 7786 | 10년 전 | 496 | ||
| 7785 | 10년 전 | 514 | ||
| 7784 | 10년 전 | 581 | ||
| 7783 | 10년 전 | 384 | ||
| 7782 | 10년 전 | 437 | ||
| 7781 | 10년 전 | 841 | ||
| 7780 | 10년 전 | 773 | ||
| 7779 | 10년 전 | 745 | ||
| 7778 | 10년 전 | 313 | ||
| 7777 | 10년 전 | 388 | ||
| 7776 | 10년 전 | 394 | ||
| 7775 | 10년 전 | 333 | ||
| 7774 | 10년 전 | 596 | ||
| 7773 | 10년 전 | 319 | ||
| 7772 | 10년 전 | 660 | ||
| 7771 | 10년 전 | 322 | ||
| 7770 | 10년 전 | 607 | ||
| 7769 | 10년 전 | 319 | ||
| 7768 | 10년 전 | 542 | ||
| 7767 | 10년 전 | 1114 | ||
| 7766 | 10년 전 | 438 | ||
| 7765 | 10년 전 | 464 | ||
| 7764 |
잘살아보자
|
10년 전 | 321 | |
| 7763 |
|
10년 전 | 1393 | |
| 7762 |
Tosea
|
10년 전 | 1015 | |
| 7761 | 10년 전 | 610 | ||
| 7760 |
잘살아보자
|
10년 전 | 587 | |
| 7759 |
잘살아보자
|
10년 전 | 403 | |
| 7758 |
잘살아보자
|
10년 전 | 522 | |
| 7757 | 10년 전 | 1171 | ||
| 7756 |
ITBANK
|
10년 전 | 1214 | |
| 7755 | 10년 전 | 1892 | ||
| 7754 | 10년 전 | 985 | ||
| 7753 | 10년 전 | 839 | ||
| 7752 | 10년 전 | 1338 | ||
| 7751 |
잘살아보자
|
10년 전 | 467 | |
| 7750 |
잘살아보자
|
10년 전 | 429 | |
| 7749 |
잘살아보자
|
10년 전 | 429 | |
| 7748 |
잘살아보자
|
10년 전 | 417 | |
| 7747 |
잘살아보자
|
10년 전 | 503 | |
| 7746 |
잘살아보자
|
10년 전 | 619 | |
| 7745 |
잘살아보자
|
10년 전 | 865 | |
| 7744 |
잘살아보자
|
10년 전 | 383 | |
| 7743 | 10년 전 | 910 | ||
| 7742 |
starbros
|
10년 전 | 781 | |
| 7741 |
잘살아보자
|
10년 전 | 593 | |
| 7740 |
잘살아보자
|
10년 전 | 471 | |
| 7739 |
잘살아보자
|
10년 전 | 429 | |
| 7738 |
잘살아보자
|
10년 전 | 483 | |
| 7737 |
잘살아보자
|
10년 전 | 437 | |
| 7736 |
잘살아보자
|
10년 전 | 463 | |
| 7735 |
잘살아보자
|
10년 전 | 797 | |
| 7734 |
잘살아보자
|
10년 전 | 388 | |
| 7733 |
잘살아보자
|
10년 전 | 485 | |
| 7732 |
잘살아보자
|
10년 전 | 639 | |
| 7731 |
잘살아보자
|
10년 전 | 565 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기