¹øÈ£ : 64
±Û¾´³¯ : 2003-04-02 21:04:58
±Û¾´ÀÌ : ¿¡¶ì Á¶È¸ : 14191
Á¦¸ñ: ½½¶óÀ̵ù·¹ÀÌ¾î ¸Þ´º ¸¸µé±â

º¸Åë ȨÇÇÀÇ ¸Þ´º ±¸¼ºÀ» º¸¸é »ó´Ü°ú ¿ÞÂÊ¿¡ ºÙ¾î Àְųª
¾Æ´Ï¸é ¿À¸¥ÂÊ¿¡ ºÙ¾î ÀÖ°Ô µË´Ï´Ù..
ÇÏÁö¸¸ °Ô½ÃÆÇ ³»¿ëÀÌ ±æ¾îÁö¸é Âü ¾öû³­ ½ºÅ©·ÑÀÇ ¾Ð¹ÚÀ» ´À³¢°Ô µÅÁÒ
À̶§ ¸Þ´ºÆÇÀÌ ½ºÅ©·ÑÀ» µû¶ó °°ÀÌ µû¶ó¿Â´Ù¸é Âü Æí¸®ÇÏ°ÚÁÒ...

=====ÀÚ ¼Ò½º ³¯¾Æ°©´Ï´Ù...=================================

1. Javascript ¼Ò½º ºÎºÐ

<script language= "JavaScript">
<!-- //
/**************************************************************************
Àü¿ª º¯¼ö ¼±¾ð
**************************************************************************/
var layerX = 0 ; // Ãʱâ Layer °ª - X
var layerY = 0 ; // Ãʱâ Layer °ª - Y
var layer_element = null; // Slide´ë»ó Layer

var scroll_direction = '';
var inquire_interval = 300; // ÆäÀÌÁö°¡ À̵¿ÇÑ ÁÂÇ¥¸¦ Àоî¿Ã °£°Ý ÁöÁ¤
var slide_interval = 5; // Layer°¡ À̵¿ÇÒ ¼Óµµ

var pick_fixed = false ; // °íÁ¤»óÅ °ª
var tmr_id = null;

var browser_info = ''; // Browser °´Ã¼ Á¤º¸ - Netscape , IE
/**************************************************************************
*
* Layer slide¸¦ ½ÇÇàÇϱâ À§ÇÑ ±âº» Á¤º¸¸¦ ÀԷ¹ޱâÀ§ÇÑ ¸ÞÀÎ ÇÔ¼ö
*
* repeat : h - Á¿ì À̵¿¸¸ Çã¿ë, v - »óÇÏ À̵¿¸¸ Çã¿ë, null - ¸ðµÎ Çã¿ë
*
* ex :
* <body onLoad = slideLayer( 'slidemenu', 'v','600','10') >
*
**************************************************************************/
function slideLayer( layer_id, direction, inquire, slide ){

/* ºê¶ó¿ìÀú °´Ã¼ Á¾·ù¸¦ Àоî¿Â´Ù. */
if( (navigator.appName == 'Netscape') &&
parseInt(navigator.appVersion,10) <= 4 ){
//netscape 4.0 ÀÌÇÏ Browser
browser_info = 'Ns4' ; // Browser °´Ã¼ Á¾·ù
// Netcape 4.0 ÀÌÇÏ ¹öÀü¿¡¼­ ´ë»ó Element Àоî¿À±â
layer_element = document.layers[layer_id];
}
else if( (navigator.appName == 'Netscape') &&
parseInt(navigator.appVersion,10) > 4 ){
//netscape 6.0 ÀÌ»ó Browser
browser_info = 'Ns6' ;
// netscape 6.0 ÀÌ»ó ¹öÀü¿¡¼­ ´ë»ó Element Àоî¿À±â
layer_element = document.getElementById(layer_id);
layer_element = layer_element.style; // Style ¼Ó¼º¸¸ Àоî¿Â´Ù.
}
else{
// Explore ȣȯ Browser
browser_info = 'Ie' ;
// ´ë»ó Element Àоî¿À±â
layer_element = document.all[layer_id].style;
}

layer_element.visibility = 'visible'
layer_element.position = 'absolute';
inquire_interval = parseInt(inquire,10); // Layer À̵¿ °£°Ý
slide_interval = parseInt(slide,10); // Layer À̵¿ ¼Óµµ
scroll_direction = direction.toLowerCase(); // Layer À̵¿ ¹æÇâ

/* Ãʱâ LayerÀÇ À§Ä¡°ªÀ» Àü¿ªº¯¼ö¿¡ ´ëÀÔÇÑ´Ù. */
/* LayerÀ§Ä¡¸¦ °íÁ¤Çϰųª ¶Ç´Â ÆäÀÌÁö°¡ ½ºÅ©·ÑµÉ °æ¿ì LayerÀ̵¿½Ã */
/* ÆäÀÌÁö¿¡¼­ Layer À§Ä¡¸¦ »ó´ëÀûÀ¸·Î º¯°æÇϱâ À§ÇÔ */
layerX = parseInt(layer_element.left, 10);
layerY = parseInt(layer_element.top, 10);

onSlide();
}

/**************************************************************************
ÇöÀç ºê¶ó¿ìÀúÀÇ ÆäÀÌÁö À§Ä¡ °ªÀ» Àоî¿Í ´ë»ó °´Ã¼¸¦ ¿òÁ÷ÀÎ ÁÂÇ¥¸¸Å­
À̵¿ÇÑ´Ù.
**************************************************************************/
function onSlide(){
var page_posX, page_posY, layer_posX, layer_posY;
var slideX = 0, slideY = 0;
var interval = 0;

if (pick_fixed) return;

/* ÇöÀç ³ªÅ¸³ª´Â ÆäÀÌÁöÀÇ x, yÁÂÇ¥°ªÀ» Àоî¿Â´Ù. */
if ( browser_info == 'Ie'){ // Expoler ȣȯ ¹öÀü
page_posX = document.body.scrollLeft + layerX;
page_posY = document.body.scrollTop + layerY;
}
else if( browser_info == 'Ns4' || browser_info == 'Ns6' ){ // Netscape ¹öÀü
page_posX = parseInt (window.pageXOffset, 10) + layerX;
page_posY = parseInt (window.pageYOffset, 10) + layerY;
}

/* ÇöÀç Layer À§Ä¡ °ªÀ» Àоî¿Â´Ù. Àü´Þ¹ÞÀº °ªÀº 'nnnnpx' Çü½ÄÀÇ Á¤¼ö°ªÀ̹ǷΠ*/
/* Á¤¼öÈ­ ÇÑ´Ù. */
layer_posX = parseInt(layer_element.left, 10);
layer_posY = parseInt(layer_element.top, 10);

/* Layer À̵¿ÀÌ ³¡³­ ÈÄ ´ÙÀ½ À̵¿±îÁö °£°Ý */
interval = inquire_interval;

if (page_posX < layerX) page_posX = layerX;
if (page_posY < layerY) page_posY = layerY;

/* ÆäÀÌÁö°¡ À̵¿ÇÑ °Å¸®¸¸Å­ layer¸¦ À̵¿½ÃŲ´Ù. */
if (page_posY != layer_posY || page_posX != layer_posX) {
// Layer À̵¿ÀÌ ³¡ À̵¿ °Å¸® = ÆäÀÌÁö°¡ À̵¿ ÁÂÇ¥ / Layer Slide °£°Ý
slideX= Math.ceil( Math.abs(page_posX - layer_posX) / slide_interval );
slideY = Math.ceil( Math.abs(page_posY - layer_posY) / slide_interval );


if (page_posX < layer_posX) slideX = -slideX;
if (page_posY < layer_posY) slideY = -slideY;

if( scroll_direction != 'v') // Slide¹æÇâÀÌ ¾çÃø ¶Ç´Â ÁÂ¿ì ¹æÇâÀ϶§
layer_element.left = parseInt(layer_element.left,10) + slideX;

if( scroll_direction != 'h')// Slide¹æÇâÀÌ ¾çÃø ¶Ç´Â »óÇÏ ¹æÇâÀ϶§
layer_element.top = parseInt(layer_element.top ,10) + slideY ;

// Layer Slide ¼Óµµ
interval = slide_interval;
}

/* ÇÔ¼ö Àç±ÍÈ£Ãâ */
setTimeout ("onSlide()", interval);
}

/**************************************************************************
Layer¸¦ °íÁ¤½ÃÅ°±â À§ÇÑ ÇÔ¼ö
**************************************************************************/
function fixedLayer(){

var page_posX, page_posY, layer_posX, layer_posY;
var slideX = 0, slideY = 0;
/* ÇöÀç Layer À§Ä¡ °ªÀ» Àоî¿Â´Ù. */
layer_posX = parseInt(layer_element.left, 10);
layer_posY = parseInt(layer_element.top, 10);

/* LayerÀÇ Ãʱâ À§Ä¡·Î À̵¿½ÃÅ°±â À§ÇØ Ãʱâ Layer°ªÀ» Page ÁÂÇ¥°ªÀ¸·Î ´ëÀÔÇÑ´Ù.*/
page_posX = layerX;
page_posY = layerY;

/* Layer°¡ À̵¿ÇÑ °Å¸®¸¸Å­ °è»êÇÏ¿© ¸Þ´º¸¦ À̵¿½ÃŲ´Ù. */
if (page_posY != layer_posY || page_posX != layer_posX) {
slideX= Math.ceil( Math.abs(page_posX - layer_posX) / slide_interval );
slideY = Math.ceil( Math.abs(page_posY - layer_posY) / slide_interval );

if (page_posX < layer_posX) slideX = -slideX;
if (page_posY < layer_posY) slideY = -slideY;

layer_element.left = parseInt(layer_element.left,10) + slideX;
layer_element.top = parseInt(layer_element.top ,10) + slideY ;

setTimeout (" fixedLayer()", slide_interval);
}

}

/**************************************************************************
Layer °íÁ¤ °ª È®ÀÎ
**************************************************************************/
function checkFixed(obj_id){

if ( browser_info == 'Ie' ){ // Expoler ȣȯ ¹öÀü
// ´ë»ó Element Àоî¿À±â
var theObject = document.all[obj_id];
}
else if (browser_info == 'Ns6' ){
var theObject = document.getElementById(obj_id);
}
else if (browser_info == 'Ns4' ){
alert('Á˼ÛÇÕ´Ï´Ù. ÇöÀç ºê¶ó¿ìÀú´Â Áö¿øµÇÁö ¾Ê½À´Ï´Ù.')
// À§ Çü½ÄÀ¸·Î´Â Áö¿ø ¾ÈµÊ ~.~
return;
}

/* °´Ã¼ÀÇ TypeÀÌ checkboxÀÎÁö È®ÀÎ ÇÑ´Ù. */
if ( theObject.type == 'checkbox' ){
if ( (!theObject.checked) && (pick_fixed) ){ // Layer À̵¿
pick_fixed = false;
onSlide();
}
else if ( (theObject.checked) && (!pick_fixed) ){ // Layer °íÁ¤
pick_fixed = true;
fixedLayer();
}
}

}
//-->
</script>

2. HTML Body ºÎºÐ

<body bgcolor="#B3C5D2" onLoad="slideLayer('layer1', 'n', '300', '10')">
<!--------------------------// Slide Layer -------------------------->
<table id ="layer1" style="position:absolute; visibility:visible; left:15px; top:15px; z-index:1; border:black 2px solid">
<tr><td>
<!--------------------------// Menu Layer -------------------------->
<table width="200" cellspacing="10" cellpadding="0" style="font-weight:bold; font-family:serif-serf; font-size:9pt; color:#FFFFFF">
<tr><td height="20"> </td></tr>
<tr><td height="20" bgcolor="#336699"> Menu1</td></tr>
<tr><td height="20" bgcolor="#336699"> Menu2</td></tr>
<tr><td height="20" bgcolor="#336699"> Menu3</td></tr>
<tr><td height="20" bgcolor="#336699"> Menu4</td></tr>
<tr><td height="20" bgcolor="#336699"> Menu5</td></tr>
<tr><td height="20" bgcolor="#336699">
<!--------------------------// Slide Layer °íÁ¤À» À§ÇÑ Form -------------------------->
<form name="form1"><input type="checkbox" name="layer2" id="layer2" onClick="checkFixed('layer2')" onfocus="this.blur()">Layer °íÁ¤</form>
<!-------------------------- Slide Layer °íÁ¤À» À§ÇÑ Form °íÁ¤ -------------------------->
</td></tr>
</table>
<!-------------------------- Menu Layer //-------------------------->
</td></tr></table>
<!-------------------------- Slide Layer //-------------------------->



±Û¾²±â ¼öÁ¤Çϱâ Áö¿ì±â
 
ȨÀ¸·Î ÀÌÀü±Û ¸ñ·Ï ´ÙÀ½±Û

Copylefted by JINBO.NET