웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
3D 효과의 원형 거울을 띄우자.
2003.11.21 15:05
제목이 마땅치 않아서리...쩝.
큰 원형 거울안에 사진이 보이는데 그 원형 거울이 화면 중앙을 중심으로 움직여요.
3차원으로....설명이 제대로 된건가?
암튼 맨 아래 샘플 주소 놓았으니 보시던지...
아래의 소스중에 한글로 되어있는 부분을 꼭 읽으세요.
★ 설명시작★
일단 헤더부분은 아래처럼 하세요.
사실 메타는 필요 없을 수도 있지만..
<head>
<meta NAME="keywords" CONTENT="DHTML, JavaScript, VML, 3d, slideshow, animation,gif, image, fade, fade, tile download, free, script, applet">
<meta NAME="description" CONTENT="This is a very spectacular slideshow. The script makes your images float and rotate through your webpage. Each image can be linked. Selectable form (circle or rectangle). Full effect with Internet Explorer 5x/6x or higher. Floating effect with Netscape Navigator 6x/7x.">
<xml:namespace ns="urn:schemas-microsoft-com:vml" prefix="v"/>
<style>
v:* { behavior: url(#default#VML); }
</style>
</head>
아래는 바디부분입니다.
<body>
<SCRIPT>
// 그림 주소는 여러분걸로 하세요. 그림갯수는 여러분 맘대로..
var slideurl=new Array()
slideurl[0]="http://그림주소/그림파일1.jpg"
slideurl[1]="http://그림주소/그림파일2.jpg"
slideurl[2]="http://그림주소/그림파일3.jpg"
// 각 이미지를 누르면 볼 수 있는 링크를 걸수도 있죠.
// 링크걸기 싫으면 걍 "#"로 표시하세요.
var slidelink=new Array()
slidelink[0]="http://julian.gana4u.co.kr"
slidelink[1]="#"
slidelink[2]="http://www.google.com"
// 링크를 걸었을때 새창으로 하려면 blank 알죠?
// "_blank" or "_top" or "_parent" or "_self" 등등.
var slidetarget=new Array()
slidetarget[0]="_blank"
slidetarget[1]="_self"
slidetarget[2]="_top"
// 3D-두께 (pixels)
var backdepth=6
// 테두리 색깔
var fillcolor="#666666"
// Netscape Navigator 사용자를 위한거, 그냥 두셈.
var standstill=3
// 이미지 형태
// 원형은 "oval" 사각형은 "rect"
var imageform="oval"
// 아래는 절대 건들지 마세요.
var slidewidth=1
var slideheight=1
var ns6=document.getElementById&&!document.all?1:0
var opera=navigator.userAgent.match(/Opera/)
var ie5=document.getElementById&&document.all&&!opera?1:0
standstill*=1000
var floatingspeed=1
var tempo=20
var numberofimages=slideurl.length-1
var stepx=new Array()
var stepy=new Array()
for (i=0;i<=numberofimages;i++) {
stepx[i]=randommakerNS(floatingspeed)
stepy[i]=randommakerNS(floatingspeed)
}
var imgwidth=new Array()
var imgheight=new Array()
for (i=0;i<=numberofimages;i++) {
imgwidth[i]=10
imgheight[i]=10
}
var x,y
var marginbottom
var marginleft=0
var margintop=0
var marginright
var timer
var i_fadestrength=new Array()
var i_fadestep=new Array()
var i_fadenow=new Array()
var i_fadenowmax=new Array()
for (i=0;i<=slideurl.length;i++) {
i_fadenowmax[i]=2
i_fadestrength[i]=randommakerNS(99)
i_fadestep[i]=1
i_fadenow[i]=0
}
var spancontent=new Array()
var i_spancontent=0
var imgpreload=new Array()
for (i=0;i<=slideurl.length;i++) {
imgpreload[i]=new Image()
imgpreload[i].src=slideurl[i]
}
for (i=0;i<=numberofimages;i++) {
spancontent[i]="<a href='"+slidelink[i]+"' target='"+slidetarget[i]+"'><img src='"+slideurl[i]+"' border='0'></a>"
}
var i_angle1=0
var i_size=1
var i_pic=0
var posleft=0
var postop=0
var x_extrusionangle=0
var y_extrusionangle=0
var x_rotationcenter=0
var y_rotationcenter=0
var pagewidth
var pageheight
function initNS() {
marginbottom=window.innerHeight-11
marginright=window.innerWidth-11
var thisspan=document.getElementById('span0')
thisspan.innerHTML=spancontent[0]
var thisspan=document.getElementById('span0')
imgwidth[0]=parseInt(thisspan.offsetWidth)
imgheight[0]=parseInt(thisspan.offsetHeight)
var maxleftstart=marginright-imgwidth[0]
var maxtopstart=marginbottom-imgheight[0]
var thisspan=document.getElementById('span0').style
thisspan.left=parseInt(thisspan.left)+randommakerNS(maxleftstart)
thisspan.top=parseInt(thisspan.top)+randommakerNS(maxtopstart)
thisspan.visibility="visible"
checkmovementNS()
}
function randommakerNS(range) {
rand=Math.floor(range*Math.random())
if (rand==0) {rand=Math.ceil(range/2)}
return rand
}
function checkmovementNS() {
checkpositionNS()
movepicturesNS()
timer=setTimeout("checkmovementNS()",tempo)
}
function movepicturesNS() {
var thisspan=document.getElementById('span0').style
thisspan.left=parseInt(thisspan.left)+stepx[0]
thisspan.top=parseInt(thisspan.top)+stepy[0]
i_fadenow[0]++
if (i_fadenow[0]>=i_fadenowmax[0]) {
i_fadenow[0]=0
if (i_fadestrength[0]>=100) {i_fadestep[0]=i_fadestep[0]*-1}
else if (i_fadestrength[0]<=0) {
i_fadestep[0]=i_fadestep[0]*-1
i_spancontent++
if (i_spancontent>=spancontent.length) {i_spancontent=0}
document.getElementById('span0').innerHTML=spancontent[i_spancontent]
}
}
i_fadestrength[0]+=i_fadestep[0]
document.getElementById('span0').style.MozOpacity=Math.round(i_fadestrength[0])/100
}
function checkpositionNS() {
imgwidth[0]=parseInt(document.getElementById('span0').offsetWidth)
imgheight[0]=parseInt(document.getElementById('span0').offsetHeight)
var thisspan=document.getElementById('span0').style
var leftx=parseInt(thisspan.left)
var topy=parseInt(thisspan.top)
if (leftx>marginright-imgwidth[0]-floatingspeed) {
thisspan.left=leftx-Math.abs(stepx[0]+1)
stepx[0]=randommakerNS(floatingspeed)*-1
}
if (leftx<marginleft) {
thisspan.left=leftx+Math.abs(stepx[0])
stepx[0]=randommakerNS(floatingspeed)
}
if (topy>marginbottom-imgheight[0]-floatingspeed) {
thisspan.top=topy-Math.abs(stepy[0])
stepy[0]=randommakerNS(floatingspeed)*-1
}
if (topy<margintop) {
thisspan.top=topy+Math.abs(stepy[0])
stepy[0]=randommakerNS(floatingspeed)
}
}
function initIE() {
var i_preload=0
for (i=0;i<=slideurl.length-1;i++) {
var imgref=eval("document.n"+i)
if (imgref.complete) {i_preload++}
}
if (i_preload>=slideurl.length-1) {
slidewidth=document.getElementById('spn1').offsetWidth
slideheight=document.getElementById('spn1').offsetHeight
pagewidth=document.body.clientWidth
pageheight=document.body.clientHeight
document.getElementById('rectid').style.width=slidewidth
document.getElementById('rectid').style.height=slideheight
posleft=(pagewidth-slidewidth)/2
postop=(pageheight-slideheight)/2
x_rotationcenter=(posleft/slidewidth)/2
y_rotationcenter=(postop/slideheight)/2
var rotationcenter=0+","+y_rotationcenter+","+x_rotationcenter
document.getElementById('rectid').style.left=posleft
document.getElementById('rectid').style.top=postop
document.getElementById('extrusionid').rotationcenter=rotationcenter
rotateIE()
}
else {
var timer=setTimeout("initIE()",200)
}
}
function rotateIE() {
i_angle1+=1
if (i_angle1>=360) {
i_angle1=0
}
if (i_angle1==127) {
i_pic++
if (i_pic>=slideurl.length) {i_pic=0}
document.getElementById('fillid').src=slideurl[i_pic]
}
document.getElementById('rectid').style.rotation=i_angle1
document.getElementById('extrusionid').rotationangle=i_angle1+","+i_angle1
var timer=setTimeout("rotateIE()",30)
}
function openpageIE() {
if (slidetarget[i_pic]=="_blank") {
window.open(slidelink[i_pic])
}
else if (slidetarget[i_pic]=="_self") {
document.location.href(slidelink[i_pic])
}
else if (slidetarget[i_pic]=="_top" || slidetarget[i_pic]=="_parent") {
top.location.href(slidelink[i_pic])
}
}
if (ns6) {
document.write("<span id='span0' style='position:absolute;top:0px;left:0px;filter:alpha(opacity=0);-moz-opacity:0'></span>")
document.close()
window.onload=initNS
}
if (ie5) {
document.write('<div id="preloadimages" style="position:absolute;left:0px;top:-5px;visibility:hidden">')
for (i=0;i<=slideurl.length-1;i++) {
document.write('<span id="spn'+i+'" style="position:absolute;width:2px;left:0px;top:0px;">')
document.write('<img src="'+slideurl[i]+'" name="n'+i+'">')
document.write('</span>')
}
document.write('</div>')
document.write('<v:'+imageform+' id="rectid" style="position:absolute;top:0;left:0;width:'+slidewidth+';height:'+slideheight+'" onClick="openpageIE()">')
document.write('<v:extrusion id="extrusionid" on="true" type="perspective" color="'+fillcolor+'" rotationcenter="0,0,0" backdepth="'+backdepth+'" diffusity="2.5" metal="true">'+ ')
document.write('</v:extrusion>')
document.write('<v:fill id="fillid" opacity="100%" color="'+fillcolor+'" type="frame" src="'+slideurl[0]+'"/>')
document.write('</v:'+imageform+'>')
window.onload=initIE
}
</script>
</body>
★설명 끝★
2003년 11월 21일 줄리앙 씀.
샘플은 여기 가보세요.(주소 복사하실때 연결해서 놓으셔야 해요 부득이 두줄로 표시합니다만....)
http://free2.ttboard.com/lovemeet/ttboard/ttboard.cgi?
category=&search_method=&search_mode=&search_word=&act=view&code=40&bname=WEBSTUDY&page=1&SearchBlock=1"
큰 원형 거울안에 사진이 보이는데 그 원형 거울이 화면 중앙을 중심으로 움직여요.
3차원으로....설명이 제대로 된건가?
암튼 맨 아래 샘플 주소 놓았으니 보시던지...
아래의 소스중에 한글로 되어있는 부분을 꼭 읽으세요.
★ 설명시작★
일단 헤더부분은 아래처럼 하세요.
사실 메타는 필요 없을 수도 있지만..
<head>
<meta NAME="keywords" CONTENT="DHTML, JavaScript, VML, 3d, slideshow, animation,gif, image, fade, fade, tile download, free, script, applet">
<meta NAME="description" CONTENT="This is a very spectacular slideshow. The script makes your images float and rotate through your webpage. Each image can be linked. Selectable form (circle or rectangle). Full effect with Internet Explorer 5x/6x or higher. Floating effect with Netscape Navigator 6x/7x.">
<xml:namespace ns="urn:schemas-microsoft-com:vml" prefix="v"/>
<style>
v:* { behavior: url(#default#VML); }
</style>
</head>
아래는 바디부분입니다.
<body>
<SCRIPT>
// 그림 주소는 여러분걸로 하세요. 그림갯수는 여러분 맘대로..
var slideurl=new Array()
slideurl[0]="http://그림주소/그림파일1.jpg"
slideurl[1]="http://그림주소/그림파일2.jpg"
slideurl[2]="http://그림주소/그림파일3.jpg"
// 각 이미지를 누르면 볼 수 있는 링크를 걸수도 있죠.
// 링크걸기 싫으면 걍 "#"로 표시하세요.
var slidelink=new Array()
slidelink[0]="http://julian.gana4u.co.kr"
slidelink[1]="#"
slidelink[2]="http://www.google.com"
// 링크를 걸었을때 새창으로 하려면 blank 알죠?
// "_blank" or "_top" or "_parent" or "_self" 등등.
var slidetarget=new Array()
slidetarget[0]="_blank"
slidetarget[1]="_self"
slidetarget[2]="_top"
// 3D-두께 (pixels)
var backdepth=6
// 테두리 색깔
var fillcolor="#666666"
// Netscape Navigator 사용자를 위한거, 그냥 두셈.
var standstill=3
// 이미지 형태
// 원형은 "oval" 사각형은 "rect"
var imageform="oval"
// 아래는 절대 건들지 마세요.
var slidewidth=1
var slideheight=1
var ns6=document.getElementById&&!document.all?1:0
var opera=navigator.userAgent.match(/Opera/)
var ie5=document.getElementById&&document.all&&!opera?1:0
standstill*=1000
var floatingspeed=1
var tempo=20
var numberofimages=slideurl.length-1
var stepx=new Array()
var stepy=new Array()
for (i=0;i<=numberofimages;i++) {
stepx[i]=randommakerNS(floatingspeed)
stepy[i]=randommakerNS(floatingspeed)
}
var imgwidth=new Array()
var imgheight=new Array()
for (i=0;i<=numberofimages;i++) {
imgwidth[i]=10
imgheight[i]=10
}
var x,y
var marginbottom
var marginleft=0
var margintop=0
var marginright
var timer
var i_fadestrength=new Array()
var i_fadestep=new Array()
var i_fadenow=new Array()
var i_fadenowmax=new Array()
for (i=0;i<=slideurl.length;i++) {
i_fadenowmax[i]=2
i_fadestrength[i]=randommakerNS(99)
i_fadestep[i]=1
i_fadenow[i]=0
}
var spancontent=new Array()
var i_spancontent=0
var imgpreload=new Array()
for (i=0;i<=slideurl.length;i++) {
imgpreload[i]=new Image()
imgpreload[i].src=slideurl[i]
}
for (i=0;i<=numberofimages;i++) {
spancontent[i]="<a href='"+slidelink[i]+"' target='"+slidetarget[i]+"'><img src='"+slideurl[i]+"' border='0'></a>"
}
var i_angle1=0
var i_size=1
var i_pic=0
var posleft=0
var postop=0
var x_extrusionangle=0
var y_extrusionangle=0
var x_rotationcenter=0
var y_rotationcenter=0
var pagewidth
var pageheight
function initNS() {
marginbottom=window.innerHeight-11
marginright=window.innerWidth-11
var thisspan=document.getElementById('span0')
thisspan.innerHTML=spancontent[0]
var thisspan=document.getElementById('span0')
imgwidth[0]=parseInt(thisspan.offsetWidth)
imgheight[0]=parseInt(thisspan.offsetHeight)
var maxleftstart=marginright-imgwidth[0]
var maxtopstart=marginbottom-imgheight[0]
var thisspan=document.getElementById('span0').style
thisspan.left=parseInt(thisspan.left)+randommakerNS(maxleftstart)
thisspan.top=parseInt(thisspan.top)+randommakerNS(maxtopstart)
thisspan.visibility="visible"
checkmovementNS()
}
function randommakerNS(range) {
rand=Math.floor(range*Math.random())
if (rand==0) {rand=Math.ceil(range/2)}
return rand
}
function checkmovementNS() {
checkpositionNS()
movepicturesNS()
timer=setTimeout("checkmovementNS()",tempo)
}
function movepicturesNS() {
var thisspan=document.getElementById('span0').style
thisspan.left=parseInt(thisspan.left)+stepx[0]
thisspan.top=parseInt(thisspan.top)+stepy[0]
i_fadenow[0]++
if (i_fadenow[0]>=i_fadenowmax[0]) {
i_fadenow[0]=0
if (i_fadestrength[0]>=100) {i_fadestep[0]=i_fadestep[0]*-1}
else if (i_fadestrength[0]<=0) {
i_fadestep[0]=i_fadestep[0]*-1
i_spancontent++
if (i_spancontent>=spancontent.length) {i_spancontent=0}
document.getElementById('span0').innerHTML=spancontent[i_spancontent]
}
}
i_fadestrength[0]+=i_fadestep[0]
document.getElementById('span0').style.MozOpacity=Math.round(i_fadestrength[0])/100
}
function checkpositionNS() {
imgwidth[0]=parseInt(document.getElementById('span0').offsetWidth)
imgheight[0]=parseInt(document.getElementById('span0').offsetHeight)
var thisspan=document.getElementById('span0').style
var leftx=parseInt(thisspan.left)
var topy=parseInt(thisspan.top)
if (leftx>marginright-imgwidth[0]-floatingspeed) {
thisspan.left=leftx-Math.abs(stepx[0]+1)
stepx[0]=randommakerNS(floatingspeed)*-1
}
if (leftx<marginleft) {
thisspan.left=leftx+Math.abs(stepx[0])
stepx[0]=randommakerNS(floatingspeed)
}
if (topy>marginbottom-imgheight[0]-floatingspeed) {
thisspan.top=topy-Math.abs(stepy[0])
stepy[0]=randommakerNS(floatingspeed)*-1
}
if (topy<margintop) {
thisspan.top=topy+Math.abs(stepy[0])
stepy[0]=randommakerNS(floatingspeed)
}
}
function initIE() {
var i_preload=0
for (i=0;i<=slideurl.length-1;i++) {
var imgref=eval("document.n"+i)
if (imgref.complete) {i_preload++}
}
if (i_preload>=slideurl.length-1) {
slidewidth=document.getElementById('spn1').offsetWidth
slideheight=document.getElementById('spn1').offsetHeight
pagewidth=document.body.clientWidth
pageheight=document.body.clientHeight
document.getElementById('rectid').style.width=slidewidth
document.getElementById('rectid').style.height=slideheight
posleft=(pagewidth-slidewidth)/2
postop=(pageheight-slideheight)/2
x_rotationcenter=(posleft/slidewidth)/2
y_rotationcenter=(postop/slideheight)/2
var rotationcenter=0+","+y_rotationcenter+","+x_rotationcenter
document.getElementById('rectid').style.left=posleft
document.getElementById('rectid').style.top=postop
document.getElementById('extrusionid').rotationcenter=rotationcenter
rotateIE()
}
else {
var timer=setTimeout("initIE()",200)
}
}
function rotateIE() {
i_angle1+=1
if (i_angle1>=360) {
i_angle1=0
}
if (i_angle1==127) {
i_pic++
if (i_pic>=slideurl.length) {i_pic=0}
document.getElementById('fillid').src=slideurl[i_pic]
}
document.getElementById('rectid').style.rotation=i_angle1
document.getElementById('extrusionid').rotationangle=i_angle1+","+i_angle1
var timer=setTimeout("rotateIE()",30)
}
function openpageIE() {
if (slidetarget[i_pic]=="_blank") {
window.open(slidelink[i_pic])
}
else if (slidetarget[i_pic]=="_self") {
document.location.href(slidelink[i_pic])
}
else if (slidetarget[i_pic]=="_top" || slidetarget[i_pic]=="_parent") {
top.location.href(slidelink[i_pic])
}
}
if (ns6) {
document.write("<span id='span0' style='position:absolute;top:0px;left:0px;filter:alpha(opacity=0);-moz-opacity:0'></span>")
document.close()
window.onload=initNS
}
if (ie5) {
document.write('<div id="preloadimages" style="position:absolute;left:0px;top:-5px;visibility:hidden">')
for (i=0;i<=slideurl.length-1;i++) {
document.write('<span id="spn'+i+'" style="position:absolute;width:2px;left:0px;top:0px;">')
document.write('<img src="'+slideurl[i]+'" name="n'+i+'">')
document.write('</span>')
}
document.write('</div>')
document.write('<v:'+imageform+' id="rectid" style="position:absolute;top:0;left:0;width:'+slidewidth+';height:'+slideheight+'" onClick="openpageIE()">')
document.write('<v:extrusion id="extrusionid" on="true" type="perspective" color="'+fillcolor+'" rotationcenter="0,0,0" backdepth="'+backdepth+'" diffusity="2.5" metal="true">'+ ')
document.write('</v:extrusion>')
document.write('<v:fill id="fillid" opacity="100%" color="'+fillcolor+'" type="frame" src="'+slideurl[0]+'"/>')
document.write('</v:'+imageform+'>')
window.onload=initIE
}
</script>
</body>
★설명 끝★
2003년 11월 21일 줄리앙 씀.
샘플은 여기 가보세요.(주소 복사하실때 연결해서 놓으셔야 해요 부득이 두줄로 표시합니다만....)
http://free2.ttboard.com/lovemeet/ttboard/ttboard.cgi?
category=&search_method=&search_mode=&search_word=&act=view&code=40&bname=WEBSTUDY&page=1&SearchBlock=1"
댓글 6
제목 | 글쓴이 | 날짜 |
---|---|---|
응용편 - BMI 측정 테스트 소스를 만들어보자 [5] | 티다 | 2004.06.04 |
게시판내용에 코멘트를 달자!! -마지막- [2] | 이혁 | 2004.06.03 |
게시판내용에 코멘트를 달자!! -2- [1] | 헉스 | 2004.06.02 |
게시판내용에 코멘트를 달자!! [3] | 헉스 | 2004.06.02 |
2. array [5] | 티다 | 2004.06.02 |
1. 연산자 [2] | 티다 | 2004.06.02 |
주식정보출력코드 [2] | 김재경 | 2004.06.01 |
윈도우계정에서 현재 남은 용량과 DB 용량 알기
[6]
![]() | 지으니 | 2004.05.31 |
초간단 스팸방지 하면서 곧바로 메일 보내기 [3] | U2em | 2004.05.31 |
해당 ftp 파일 서버에서 다른곳의 ftp 파일 서버로 백업용도 및 전송하기.. [9] | 김동욱 | 2004.05.30 |
초간단 설문조사 소스 [3] | 이혁 | 2004.05.27 |
PHP로 구현하는 음악 감상실
[9]
![]() | 컴도미 | 2004.05.21 |
[국밥PHP] 1-1(1). 개념정리 Break Time (Build 1) [7] | 9000㎒ | 2004.05.18 |
팁 아닌 팁 한달전... | http://zentoo.com | 2004.05.15 |
포털사이트 처럼 시스템 점검중 만들기 [3] | http://zentoo.com | 2004.05.14 |
PHP 4에서 PHP 5로 이행 [5] | 이종현 | 2004.04.30 |
PHP5 RC2 Released. [4] | 써니루루☆ | 2004.04.27 |
트랙백 구현하기 - 2. 트랙백의 형식
![]() | TheMics | 2004.04.22 |
트랙백 구현하기 - 2. 트랙백의 형식
![]() | TheMics | 2004.04.22 |
엔지오 채널 따라하기 -_-& www자동 붙이기 [6] | 박종찬 | 2004.04.18 |