웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
요청해오신 레이어 무조건 중앙에 열리기 와 클릭하는 곳에 열리기 두가지 소스입니다.
2003.02.25 07:31
소스가 너무 길어지기 때문에 답변으로 대신합니다.
일단 아래 예제들을 실행하기 위해서는 소스 제일 아래 있는 div 에서 left와 top을 지워져야 합니다.
그리고 이 소스는 익스 전용입니다.넷스에서는 틀려 집니다.
1.클릭 하는 곳에 열리기
---------------------------------------------------------------------------------------------------------------
<script language=javascript>
var x =0
var y=0
drag = 0
move = 0
window.document.onmousemove = mouseMove
window.document.onmousedown = mouseDown
window.document.onmouseup = mouseUp
window.document.ondragstart = mouseStop
function ShowImg(file_name)
{
var file_name;
img_layer.filters.blendTrans.apply();
img_layer.style.visibility = "visible";
img_layer.filters.blendTrans.play();
img_layer.innerHTML="<table cellpadding=0 cellspacing=0 border=0 onclick=HideImg()><tr><Td bgcolor=#006699 height=20><font face=verdana size=1 color=#ffffff> SHOW IMAGE</font></td></tr><tr><td><img src=" + file_name + " border=0 alt='클릭하면 닫힙니다'></td></tr></table>";
//추가 부분 시작
layer_x=event.clientX;
layer_y=event.clientY;
img_layer.style.pixelLeft=layer_x + document.body.scrollLeft;
img_layer.style.pixelTop=layer_y + document.body.scrollTop-presctop;
//추가 부분 끝
//간단히 설명드리면 마우스의 이벤트의 좌표 값과 스크롤바가 있을 경우 스크롤바의 위치값을 더해 클릭한곳에
//열리게 하는 것입니다.
}
function HideImg()
{
img_layer.filters.blendTrans.apply();
img_layer.style.visibility = "hidden";
img_layer.filters.blendTrans.play();
}
function mouseUp() {
move = 0
}
function mouseDown() {
if (drag) {
clickleft = window.event.x - parseInt(img_layer.style.left)
clicktop = window.event.y - parseInt(img_layer.style.top)
img_layer.style.zIndex += 1
move = 1
}
}
function mouseMove() {
if (move) {
img_layer.style.left = window.event.x - clickleft
img_layer.style.top = window.event.y - clicktop
}
}
function mouseStop() {
window.event.returnValue = false
}
</script>
<table>
<tr>
<td><a href=javascript:ShowImg('img/1.jpg') onfocus=blur()><img src=img/1.jpg border=0 width=120 height=120></a></td>
<td><a href=javascript:ShowImg('img/2.jpg') onfocus=blur()><img src=img/2.jpg border=0 width=120 height=120></a></td>
</tr>
<tr>
<td><a href=javascript:ShowImg('img/3.jpg') onfocus=blur()><img src=img/3.jpg border=0 width=120 height=120></a></td>
<td><a href=javascript:ShowImg('img/4.jpg') onfocus=blur()><img src=img/4.jpg border=0 width=120 height=120></a></td>
</tr>
<tr>
<td><a href=javascript:ShowImg('img/5.jpg') onfocus=blur()><img src=img/5.jpg border=0 width=120 height=120></a></td>
<td><a href=javascript:ShowImg('img/6.jpg') onfocus=blur()><img src=img/6.jpg border=0 width=120 height=120></a></td>
</tr>
<tr>
<td><a href=javascript:ShowImg('img/7.jpg') onfocus=blur()><img src=img/7.jpg border=0 width=120 height=120></a></td>
<td><a href=javascript:ShowImg('img/8.jpg') onfocus=blur()><img src=img/8.jpg border=0 width=120 height=120></a></td>
</tr>
<tr>
<td><a href=javascript:ShowImg('img/9.jpg') onfocus=blur()><img src=img/9.jpg border=0 width=120 height=120></a></td>
<td><a href=javascript:ShowImg('img/10.jpg') onfocus=blur()><img src=img/10.jpg border=0 width=120 height=120></a></td>
</tr>
</table>
<div id=img_layer style="position:absolute; z-index:2; visibility:hidden; filter:revealTrans(transition=23,duration=0.5) blendTrans(duration=0.5);" onmouseover="drag=1;move=0" onmouseout="drag=0"></div>
------------------------------------------------------------------------------------------------------
2. 항상 중앙에 레이어 열리게 하기
테스트 해본결롸 썩 잘됩니다.
<script language=javascript>
var x =0
var y=0
drag = 0
move = 0
window.document.onmousemove = mouseMove
window.document.onmousedown = mouseDown
window.document.onmouseup = mouseUp
window.document.ondragstart = mouseStop
function ShowImg(file_name)
{
var file_name;
img_layer.filters.blendTrans.apply();
img_layer.style.visibility = "visible";
img_layer.filters.blendTrans.play();
img_layer.innerHTML="<table cellpadding=0 cellspacing=0 border=0 onclick=HideImg()><tr><Td bgcolor=#006699 height=20><font face=verdana size=1 color=#ffffff> SHOW IMAGE</font></td></tr><tr><td><img src=" + file_name + " border=0 alt='클릭하면 닫힙니다'></td></tr></table>";
//추가 부분 시작
layer_x = parseInt(document.body.clientWidth / 2 / 2) + document.body.scrollLeft;
layer_y = parseInt(document.body.clientHeight / 2 / 2)+ document.body.scrollTop;
img_layer.style.pixelLeft=layer_x;
img_layer.style.pixelTop=layer_y;
//추가 부분 끝
//역시 비슷한 원리로 익스 창의 크기를 구해와 중앙에 중앙을 구하고 스크롤된 값을 더합니다.
//위 소스의 경우 열리는 이미지 크기에 따라 약간의 변화가 있겠네요.
}
function HideImg()
{
img_layer.filters.blendTrans.apply();
img_layer.style.visibility = "hidden";
img_layer.filters.blendTrans.play();
}
function mouseUp() {
move = 0
}
function mouseDown() {
if (drag) {
clickleft = window.event.x - parseInt(img_layer.style.left)
clicktop = window.event.y - parseInt(img_layer.style.top)
img_layer.style.zIndex += 1
move = 1
}
}
function mouseMove() {
if (move) {
img_layer.style.left = window.event.x - clickleft
img_layer.style.top = window.event.y - clicktop
}
}
function mouseStop() {
window.event.returnValue = false
}
</script>
<table>
<tr>
<td><a href=javascript:ShowImg('img/1.jpg') onfocus=blur()><img src=img/1.jpg border=0 width=120 height=120></a></td>
<td><a href=javascript:ShowImg('img/2.jpg') onfocus=blur()><img src=img/2.jpg border=0 width=120 height=120></a></td>
</tr>
<tr>
<td><a href=javascript:ShowImg('img/3.jpg') onfocus=blur()><img src=img/3.jpg border=0 width=120 height=120></a></td>
<td><a href=javascript:ShowImg('img/4.jpg') onfocus=blur()><img src=img/4.jpg border=0 width=120 height=120></a></td>
</tr>
<tr>
<td><a href=javascript:ShowImg('img/5.jpg') onfocus=blur()><img src=img/5.jpg border=0 width=120 height=120></a></td>
<td><a href=javascript:ShowImg('img/6.jpg') onfocus=blur()><img src=img/6.jpg border=0 width=120 height=120></a></td>
</tr>
<tr>
<td><a href=javascript:ShowImg('img/7.jpg') onfocus=blur()><img src=img/7.jpg border=0 width=120 height=120></a></td>
<td><a href=javascript:ShowImg('img/8.jpg') onfocus=blur()><img src=img/8.jpg border=0 width=120 height=120></a></td>
</tr>
<tr>
<td><a href=javascript:ShowImg('img/9.jpg') onfocus=blur()><img src=img/9.jpg border=0 width=120 height=120></a></td>
<td><a href=javascript:ShowImg('img/10.jpg') onfocus=blur()><img src=img/10.jpg border=0 width=120 height=120></a></td>
</tr>
</table>
<div id=img_layer style="position:absolute; z-index:2; visibility:hidden; filter:revealTrans(transition=23,duration=0.5) blendTrans(duration=0.5);" onmouseover="drag=1;move=0" onmouseout="drag=0"></div>
------------------------------------------------------------------------------------------------------
위 스크립트를 기본으로하는 갤러리를 베포 중입니다.
nzeo 다운로드에 php 자료실을 이용해 주셔도 되구요.
아니면 http://morami.net/d_m/mg/index.html 로 오시면 자세히 아실 수 있습니다.
많은 관심 부탁드립니다. ^^
그럼 이만 모라미는 자야 해서요..
일단 아래 예제들을 실행하기 위해서는 소스 제일 아래 있는 div 에서 left와 top을 지워져야 합니다.
그리고 이 소스는 익스 전용입니다.넷스에서는 틀려 집니다.
1.클릭 하는 곳에 열리기
---------------------------------------------------------------------------------------------------------------
<script language=javascript>
var x =0
var y=0
drag = 0
move = 0
window.document.onmousemove = mouseMove
window.document.onmousedown = mouseDown
window.document.onmouseup = mouseUp
window.document.ondragstart = mouseStop
function ShowImg(file_name)
{
var file_name;
img_layer.filters.blendTrans.apply();
img_layer.style.visibility = "visible";
img_layer.filters.blendTrans.play();
img_layer.innerHTML="<table cellpadding=0 cellspacing=0 border=0 onclick=HideImg()><tr><Td bgcolor=#006699 height=20><font face=verdana size=1 color=#ffffff> SHOW IMAGE</font></td></tr><tr><td><img src=" + file_name + " border=0 alt='클릭하면 닫힙니다'></td></tr></table>";
//추가 부분 시작
layer_x=event.clientX;
layer_y=event.clientY;
img_layer.style.pixelLeft=layer_x + document.body.scrollLeft;
img_layer.style.pixelTop=layer_y + document.body.scrollTop-presctop;
//추가 부분 끝
//간단히 설명드리면 마우스의 이벤트의 좌표 값과 스크롤바가 있을 경우 스크롤바의 위치값을 더해 클릭한곳에
//열리게 하는 것입니다.
}
function HideImg()
{
img_layer.filters.blendTrans.apply();
img_layer.style.visibility = "hidden";
img_layer.filters.blendTrans.play();
}
function mouseUp() {
move = 0
}
function mouseDown() {
if (drag) {
clickleft = window.event.x - parseInt(img_layer.style.left)
clicktop = window.event.y - parseInt(img_layer.style.top)
img_layer.style.zIndex += 1
move = 1
}
}
function mouseMove() {
if (move) {
img_layer.style.left = window.event.x - clickleft
img_layer.style.top = window.event.y - clicktop
}
}
function mouseStop() {
window.event.returnValue = false
}
</script>
<table>
<tr>
<td><a href=javascript:ShowImg('img/1.jpg') onfocus=blur()><img src=img/1.jpg border=0 width=120 height=120></a></td>
<td><a href=javascript:ShowImg('img/2.jpg') onfocus=blur()><img src=img/2.jpg border=0 width=120 height=120></a></td>
</tr>
<tr>
<td><a href=javascript:ShowImg('img/3.jpg') onfocus=blur()><img src=img/3.jpg border=0 width=120 height=120></a></td>
<td><a href=javascript:ShowImg('img/4.jpg') onfocus=blur()><img src=img/4.jpg border=0 width=120 height=120></a></td>
</tr>
<tr>
<td><a href=javascript:ShowImg('img/5.jpg') onfocus=blur()><img src=img/5.jpg border=0 width=120 height=120></a></td>
<td><a href=javascript:ShowImg('img/6.jpg') onfocus=blur()><img src=img/6.jpg border=0 width=120 height=120></a></td>
</tr>
<tr>
<td><a href=javascript:ShowImg('img/7.jpg') onfocus=blur()><img src=img/7.jpg border=0 width=120 height=120></a></td>
<td><a href=javascript:ShowImg('img/8.jpg') onfocus=blur()><img src=img/8.jpg border=0 width=120 height=120></a></td>
</tr>
<tr>
<td><a href=javascript:ShowImg('img/9.jpg') onfocus=blur()><img src=img/9.jpg border=0 width=120 height=120></a></td>
<td><a href=javascript:ShowImg('img/10.jpg') onfocus=blur()><img src=img/10.jpg border=0 width=120 height=120></a></td>
</tr>
</table>
<div id=img_layer style="position:absolute; z-index:2; visibility:hidden; filter:revealTrans(transition=23,duration=0.5) blendTrans(duration=0.5);" onmouseover="drag=1;move=0" onmouseout="drag=0"></div>
------------------------------------------------------------------------------------------------------
2. 항상 중앙에 레이어 열리게 하기
테스트 해본결롸 썩 잘됩니다.
<script language=javascript>
var x =0
var y=0
drag = 0
move = 0
window.document.onmousemove = mouseMove
window.document.onmousedown = mouseDown
window.document.onmouseup = mouseUp
window.document.ondragstart = mouseStop
function ShowImg(file_name)
{
var file_name;
img_layer.filters.blendTrans.apply();
img_layer.style.visibility = "visible";
img_layer.filters.blendTrans.play();
img_layer.innerHTML="<table cellpadding=0 cellspacing=0 border=0 onclick=HideImg()><tr><Td bgcolor=#006699 height=20><font face=verdana size=1 color=#ffffff> SHOW IMAGE</font></td></tr><tr><td><img src=" + file_name + " border=0 alt='클릭하면 닫힙니다'></td></tr></table>";
//추가 부분 시작
layer_x = parseInt(document.body.clientWidth / 2 / 2) + document.body.scrollLeft;
layer_y = parseInt(document.body.clientHeight / 2 / 2)+ document.body.scrollTop;
img_layer.style.pixelLeft=layer_x;
img_layer.style.pixelTop=layer_y;
//추가 부분 끝
//역시 비슷한 원리로 익스 창의 크기를 구해와 중앙에 중앙을 구하고 스크롤된 값을 더합니다.
//위 소스의 경우 열리는 이미지 크기에 따라 약간의 변화가 있겠네요.
}
function HideImg()
{
img_layer.filters.blendTrans.apply();
img_layer.style.visibility = "hidden";
img_layer.filters.blendTrans.play();
}
function mouseUp() {
move = 0
}
function mouseDown() {
if (drag) {
clickleft = window.event.x - parseInt(img_layer.style.left)
clicktop = window.event.y - parseInt(img_layer.style.top)
img_layer.style.zIndex += 1
move = 1
}
}
function mouseMove() {
if (move) {
img_layer.style.left = window.event.x - clickleft
img_layer.style.top = window.event.y - clicktop
}
}
function mouseStop() {
window.event.returnValue = false
}
</script>
<table>
<tr>
<td><a href=javascript:ShowImg('img/1.jpg') onfocus=blur()><img src=img/1.jpg border=0 width=120 height=120></a></td>
<td><a href=javascript:ShowImg('img/2.jpg') onfocus=blur()><img src=img/2.jpg border=0 width=120 height=120></a></td>
</tr>
<tr>
<td><a href=javascript:ShowImg('img/3.jpg') onfocus=blur()><img src=img/3.jpg border=0 width=120 height=120></a></td>
<td><a href=javascript:ShowImg('img/4.jpg') onfocus=blur()><img src=img/4.jpg border=0 width=120 height=120></a></td>
</tr>
<tr>
<td><a href=javascript:ShowImg('img/5.jpg') onfocus=blur()><img src=img/5.jpg border=0 width=120 height=120></a></td>
<td><a href=javascript:ShowImg('img/6.jpg') onfocus=blur()><img src=img/6.jpg border=0 width=120 height=120></a></td>
</tr>
<tr>
<td><a href=javascript:ShowImg('img/7.jpg') onfocus=blur()><img src=img/7.jpg border=0 width=120 height=120></a></td>
<td><a href=javascript:ShowImg('img/8.jpg') onfocus=blur()><img src=img/8.jpg border=0 width=120 height=120></a></td>
</tr>
<tr>
<td><a href=javascript:ShowImg('img/9.jpg') onfocus=blur()><img src=img/9.jpg border=0 width=120 height=120></a></td>
<td><a href=javascript:ShowImg('img/10.jpg') onfocus=blur()><img src=img/10.jpg border=0 width=120 height=120></a></td>
</tr>
</table>
<div id=img_layer style="position:absolute; z-index:2; visibility:hidden; filter:revealTrans(transition=23,duration=0.5) blendTrans(duration=0.5);" onmouseover="drag=1;move=0" onmouseout="drag=0"></div>
------------------------------------------------------------------------------------------------------
위 스크립트를 기본으로하는 갤러리를 베포 중입니다.
nzeo 다운로드에 php 자료실을 이용해 주셔도 되구요.
아니면 http://morami.net/d_m/mg/index.html 로 오시면 자세히 아실 수 있습니다.
많은 관심 부탁드립니다. ^^
그럼 이만 모라미는 자야 해서요..
댓글 4
-
영혼
2003.02.25 11:26
-
Vichara
2003.02.26 00:48
태클은 아니지만 이거보다 소스 짧게해서 하는방법 있는데.. -
Vichara
2003.02.26 00:48
물론 취향대로 쓰세요 -
모라미
2003.02.27 00:49
영혼님 뭐 ^^; 별말씀을요. 이거 만들고 잤습니다. 후후
그리고 소스를 더 짧게 한다구요..??!! 이거는 간단히 짠건데 더 졍교 하게 짜려면 이미지
사이즈 등등을 체크한후...암튼 더 길어 질법한데요..
네~~ 취향대로 쓰세요..-.-
제목 | 글쓴이 | 날짜 |
---|---|---|
주민등록번호를 받아 자동으로 폼에 생일, 성별 체크해주기 [4] | jugug | 2003.03.06 |
자바스크립트로 만든 로또추첨기~ ^^ | 행복한고니 | 2003.03.05 |
다음 로그인 폼 입니다... 로그인후 원하는 곳으로!! [3] | 정성교 | 2003.03.05 |
허접하나마... 플래쉬와 동영상 받는 소스... [2] | 꽃ちゃん | 2003.03.04 |
자바스크립트로 쪼물딱 거리는 배경 이미지 [3] | 미친개 | 2003.03.02 |
즐겨찾기 추가하기 [3] | 라엘 | 2003.03.01 |
슬라이딩 Layer ( 옆에 메뉴 보이시죠, 비슷꾸리한거 ) [8] | 이남두 | 2003.02.26 |
두군데 IFRAME 위치에 내용 동시출력하기-프레임에도 가능 [4] | 깜보 | 2003.02.22 |
MS홈에 쓰이는 오른쪽메뉴 툴바 [13] | Kortion | 2003.02.22 |
개판 오분전 이미지 슬라이더 [5] | 미친개 | 2003.02.20 |
통합 검색엔진 소스입니다. [5] | 철혈단 | 2003.02.19 |
폰트 크기를 방문자가 자유자재로 바꾸도록.. | 깜보 | 2003.02.19 |
개판 오분전 select menu......... [10] | 미친개 | 2003.02.18 |
[수정 및 추가 설명] 음악 듣기 소스 [4] | 당근당근 | 2003.02.17 |
페이지 로딩중 효과 [7] | 깜보 | 2003.02.16 |
[수정판] 갤러리 이미지 드레그 이동 가능한 필터 사용 스르륵 버젼 ^^ [10] | 모라미 | 2003.02.15 |
요청해오신 레이어 무조건 중앙에 열리기 와 클릭하는 곳에 열리기 두가지 소스입니다. [4] | 모라미 | 2003.02.25 |
레이어를 이용한 초간단 갤러리를 만들어봅시다. [6] | 모라미 | 2003.02.15 |
흐르는 내용 강좌 [4] | 라엘 | 2003.02.10 |
[허뎝이즈]간단한 테트리스 만들어 보기^_^[허뎝이 수정했음돠] [11] | 허졉이즈 | 2003.02.06 |
잘 쓸께요^^
근데 님 안주무세여?ㅡㅡ;;;;