본문 바로가기

스크립트/[Embed]flash,etc...

브라우져 종류에 관계없이 사용할수 있는 움직이는 레이어

[movinglayer.htm 의 소스를 출력합니다. 최종 수정일 : 2006-11-29 12:24:51]
<?php #javascript##source###layer####브라우져 종류에 관계없이 사용할수 있는 움직이는 레이어 ?>
<?php

/*제작자 : 유창화
사용제한 : 사용은 자유롭습니다. 단, 강의나 책의 내용으로서 사용될 경우 허락을 받으셔야 합니다.*/

//모든 에러를 출력하도록 설정한다.
error_reporting(E_ALL);

//기본 함수 모음을 인클루드
include_once 'source/Yfunction.php';

//처리시간 측정시작
$Ystarttime Yget_microtime();

?>
<div id=DivMovingLayer style='position:absolute;left:0px;top:0px; z-index:8;display:none;'>
<table border=0 cellpadding=3 cellspacing=0 style='background-color:#F6FAFF; border: #9DADE5 solid; border-width: 1px 1px 1px 1px; width: 100px; padding: 3px;'>

<tr><td align='center'><a href='javascript:NoneRemocon();' title='움직이는 레이어를 닫습니다.'>[닫&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 기]</a></td></tr>

<tr><td align='center'><a href='javascript:history.go(-1);' title='뒤로가기'>[뒤로가기]</a></td></tr>

<tr><td align='center' height=50>여기에<br>배너</td></tr>
</table>
</div>

<script language='javascript'>
//움직이는 레이어

//사용함수
function ResetRemocon(){
 
  var DivMovingLayerYFrom, DivMovingLayerYTo, OffsetY, ResetTime;

  ResetTime = 100;

  if (DivMovingLayerRule == 'center'){
    //해상도 기준, 가운데 에서 x만큼 떨어진 곳에 위치

    if (navigator.userAgent.toLowerCase().indexOf("gecko") > -1) {

      if (document.body.clientWidth < ContentsWidth + 10) {

        DivMovingLayer.style.left = parseInt (ContentsWidth / 2, 10) + DivMovingLayerX + 10 + "px";
      }
      else {

        DivMovingLayer.style.left = (DivMovingLayerX + (document.body.clientWidth / 2)) + "px";
      }
    }
    else{

      if (document.body.clientWidth < ContentsWidth) {

        DivMovingLayer.style.left = parseInt (ContentsWidth / 2, 10) + DivMovingLayerX + "px";
      }
      else {

        DivMovingLayer.style.left = (DivMovingLayerX + (document.body.clientWidth / 2)) + "px";
      }
    }
  }
  else if (DivMovingLayerRule == 'left'){
    //해상도와 무관, 왼쪽 에서 x만큼 떨어진 곳에 위치

    DivMovingLayer.style.left = (DivMovingLayerX) + "px";
  }

  DivMovingLayerYFrom = parseInt (DivMovingLayer.style.top, 10);
  DivMovingLayerYTo = DivMovingLayerY + document.body.scrollTop + 1;

  if ( DivMovingLayerYFrom != DivMovingLayerYTo ) {

    OffsetY = Math.ceil( Math.abs( DivMovingLayerYTo - DivMovingLayerYFrom ) / 20 );

    if ( DivMovingLayerYTo < DivMovingLayerYFrom )
      OffsetY = -OffsetY;

    DivMovingLayer.style.top = (DivMovingLayerYFrom + OffsetY) + "px";

    ResetTime = 10;
  }

  setTimeout ("ResetRemocon()", ResetTime);
}

function SetRemocon() {

  DivMovingLayer.style.display = "block";

  DivMovingLayer.style.top = (DivMovingLayerY + document.body.scrollTop + 1) + "px";

  ResetRemocon();
  return true;
}

function NoneRemocon() {

  DivMovingLayer.style.display = "none";
}



if (typeof document.body == "undefined")
  document.body = document.getElementsByTagName("BODY")[0];

var DivMovingLayer = document.getElementById("DivMovingLayer");

//환경설정
var ContentsWidth = 800;//움직이는 레이어를 제외한 콘텐츠 너비, 가운데 정렬에만 해당, 전체 테이블중 제일큰 너비
var DivMovingLayerX = 410;//레이어가 위치할 레프트 값
var DivMovingLayerY = 50;//레어가 위치할 탑 값
var DivMovingLayerRule = 'center';//center -->가운데 정렬을 기준으로 x만큼, left --> 레프트 정렬을 기준으로 x만큼

//레이어 보이기
SetRemocon();
</script>
<body leftmargin=0>
<table border=1 width=800 height=500 align=center><tr><td>너비 800 * 높이 600</td></tr></table>

d<br>d<br>d<br>d<br>d<br>d<br>d<br>d<br>d<br>d<br>d<br>
<?php

//처리시간 출력
Yecho_usetime($Ystarttime);

//설명글 출력
$guide_text '
[요약]
브라우져 종류에 관계없이 사용할수 있는 움직이는 레이어

[사용법] 
해당 소스를 복사해서 사용
정렬 형태를 left, center 두가지를 사용할수 있습니다.
'
;

Yecho_guide($guide_text);

//소스보기 출력
Yecho_viewsource();

?> 

[movinglayer.htm 의 소스를 출력합니다. 여기까지]

http://82da.com/Ybbs/sample/movinglayer.htm