웹마스터 팁

흐르는 내용 강좌

2003.02.10 11:21

라엘

<script language="JavaScript">
<!--
function namosw_init_marquee(layername1, layername2, dir, scrollamount, scrolldelay, behavior, loop, cliplen, length, height)
{
  var layer1, layer2;

  if (layername1 == '' || layername2 == '')
    return;
  if (document.all) {
    layer1 = document.all[layername1];
    if (!layer1) return;
    layer2 = document.all[layername2];

    if (dir == 'l' || dir == 'r') {
      layer1.style.clip = 'rect(auto ' + cliplen + ' auto 0)';
      layer1.style.pixelWidth = cliplen;
      if (behavior == 's' || behavior == 'l')
        layer2.style.pixelLeft = (dir == 'l') ? cliplen : -length;
      else
        layer2.style.pixelLeft = (dir == 'l') ? Math.max(0, -length+cliplen) : Math.min(0, -length+cliplen);
    } else if (dir == 't' || dir == 'b') {
      layer1.style.clip = 'rect(0 auto ' + cliplen + ' auto)';
      layer1.style.pixelHeight = cliplen;
      if (behavior == 's' || behavior == 'l')
        layer2.style.pixelTop = (dir == 't') ? cliplen : -length;
      else
        layer2.style.pixelTop = (dir == 't') ? Math.max(0, -length+cliplen) : Math.min(0, -length+cliplen);
    }
  } else {
    layer1 = document.layers[layername1];
    if (!layer1) return;
    layer2 = document.layers[layername1].document.layers[layername2];

    if (dir == 'l' || dir == 'r') {    
      layer1.clip.width  = cliplen;
      layer1.clip.height = height;
      if (behavior == 's' || behavior == 'l')
        layer2.left = (dir == 'l') ? cliplen : -length;
      else
        layer2.left = (dir == 'l') ? Math.max(0, -length+cliplen) : Math.min(0, -length+cliplen);
    } else if (dir == 't' || dir == 'b') {
      layer1.clip.height = cliplen;
      if (behavior == 's' || behavior == 'l')
        layer2.top = (dir == 't') ? cliplen : -length;
      else
        layer2.top = (dir == 't') ? Math.max(0, -length+cliplen) : Math.min(0, -length+cliplen);
    }
  }

  layer1.m_layer    = layer2;
  layer1.m_dir      = dir;
  layer1.m_amount  = scrollamount;
  layer1.m_delay    = scrolldelay;
  layer1.m_behavior = behavior;
  layer1.m_loop    = loop;
  layer1.m_cliplen  = cliplen;
  layer1.m_length  = length;

  if (layer1.m_behavior == 'l') {
    if (layer1.m_loop == -1)
      layer1.m_loop = 1;
  }

  layer1.m_interval = setInterval("namosw_marquee_scroll('" + layername1 + "');", scrolldelay);
}

function namosw_marquee_scroll(layername)
{
// local function
// ------------------------
function get_left(l)
{
  return (navigator.appName.indexOf('Netscape'+ ', 0) != -1) ? l.left : l.style.pixelLeft;
}

function set_left(l, value)
{
  if (navigator.appName.indexOf('Netscape', 0) != -1)
    l.left = value;
  else
    l.style.pixelLeft = value;
}

function get_top(l)
{
  return (navigator.appName.indexOf('Netscape', 0) != -1) ? l.top : l.style.pixelTop;
}

function set_top(l, value)
{
  if (navigator.appName.indexOf('Netscape', 0) != -1)
    l.top = value;
  else
    l.style.pixelTop = value;
}
// ------------------------

  var layer;
  var layer2;
  if (document.all) {
    layer = document.all[layername];
  } else {
    layer = document.layers[layername];
  }
  layer2 = layer.m_layer;

  if (layer.m_behavior == 's') {  // scroll
    if (layer.m_dir == 'l') {
      if (get_left(layer2) >= -layer.m_length) {
        set_left(layer2, get_left(layer2)-layer.m_amount);
      } else {
        if (layer.m_loop > 0) layer.m_loop--;
        set_left(layer2, layer.m_cliplen);
      }
    } else if (layer.m_dir == 'r') {
      if (get_left(layer2) < layer.m_cliplen) {
        set_left(layer2, get_left(layer2) + layer.m_amount);
      } else {
        if (layer.m_loop > 0) layer.m_loop--;
        set_left(layer2, -layer.m_length);
      }
    } else if (layer.m_dir == 't') {
      if (get_top(layer2) >= -layer.m_length) {
        set_top(layer2, get_top(layer2) - layer.m_amount);
      } else {
        if (layer.m_loop > 0) layer.m_loop--;
        set_top(layer2, layer.m_cliplen);
      }
    } else if (layer.m_dir == 'b') {
      if (get_top(layer2) < layer.m_cliplen) {
        set_top(layer2, get_top(layer2) + layer.m_amount);
      } else {
        if (layer.m_loop > 0) layer.m_loop--;
        set_top(layer2, -layer.m_length);
      }
    }
    if (layer.m_loop == 0)
      clearInterval(layer.m_interval);
  } else if (layer.m_behavior == 'a') {  // alternate
    if (layer.m_dir == 'l') {
      if (get_left(layer2) > Math.min(0, -layer.m_length+layer.m_cliplen)) {
        set_left(layer2, get_left(layer2)-layer.m_amount);
      } else {
        if (layer.m_loop > 0) layer.m_loop--;
        layer.m_dir = 'r';
      }
    } else if (layer.m_dir == 'r') {
      if (get_left(layer2) < Math.max(0, -layer.m_length+layer.m_cliplen)) {
        set_left(layer2, get_left(layer2)+layer.m_amount);
      } else {
        if (layer.m_loop > 0) layer.m_loop--;
layer.m_dir = 'l';
      }
    } else if (layer.m_dir == 't') {
      if (get_top(layer2) > Math.min(0, -layer.m_length+layer.m_cliplen)) {
        set_top(layer2, get_top(layer2) - layer.m_amount);
      } else {
        if (layer.m_loop > 0) layer.m_loop--;
        layer.m_dir = 'b';
      }
    } else if (layer.m_dir == 'b') {
      if (get_top(layer2) < Math.max(0, -layer.m_length+layer.m_cliplen)) {
        set_top(layer2, get_top(layer2)+layer.m_amount);
      } else {
        if (layer.m_loop > 0) layer.m_loop--;
layer.m_dir = 't';
      }
    }
  } else if (layer.m_behavior == 'l') {  // slide
    if (layer.m_dir == 'l') {
      if (get_left(layer2) > 0) {
        set_left(layer2, Math.max(0, get_left(layer2)-layer.m_amount));
      } else {
        if (layer.m_loop > 0) layer.m_loop--;
set_left(layer2, layer.m_cliplen);
      }
    } else if (layer.m_dir == 'r') {
      if (get_left(layer2)+layer.m_length < layer.m_cliplen) {
        set_left(layer2, Math.min(get_left(layer2)+layer.m_amount, layer.m_cliplen-layer.m_length));
      } else {
        if (layer.m_loop > 0) layer.m_loop--;
        set_left(layer2, -layer.m_length);
      }
    } else if (layer.m_dir == 't') {
      if (get_top(layer2) > 0) {
        set_top(layer2, Math.max(0, get_top(layer2) - layer.m_amount));
      } else {
        if (layer.m_loop > 0) layer.m_loop--;
        set_top(layer2, layer.m_cliplen);
      }
    } else if (layer.m_dir == 'b') {
      if (get_top(layer2)+layer.m_length < layer.m_cliplen) {
        set_top(layer2, Math.min(get_top(layer2)+layer.m_amount, layer.m_cliplen-layer.m_length));
      } else {
        if (layer.m_loop > 0) layer.m_loop--;
        set_top(layer2, -layer.m_length);
      }
    }
    if (layer.m_loop == 0)
      clearInterval(layer.m_interval);
  }
}

// -->
</script>
</head>

<body bgcolor="white" text="black" link="blue" vlink="purple" alink="red" OnLoad="namosw_init_marquee('layer1'+ ', 'marqueechildlayer0', 't', 10, 100, 's', -1, 1800, 900, 900);">
<p> </p>
<div id="layer1" style="width:200px; height:900px; position:absolute; left:384px; top:1px; z-index:1;">
    <div id="marqueechildlayer0" style="position:absolute; left:0; top:0; width:200; height:900;" namo_marquee>
행복을 줄수없었어 <BR>그런데 사랑을했어 <BR>니곁에 감히 머무른 <BR>내 욕심을 용서치마<BR>방황이 많이 남았어 <BR>그 끝은 나도
모르는곳<BR>약하게 태어나서 미안해 <BR>그래서 널 보내려고 해 <BR><BR>언젠가는 돌아갈께<BR>사랑할 자격 갖춘 나
되어<BR>너의곁으로 돌아갈께<BR>행복을 줄수있을때 <BR>아파도 안녕<BR>잠시만 안녕 <BR><BR><BR>언제나 위태로운 나<BR>그런
내가 널 사랑을했어 <BR>외로운 고독이 두려워<BR>빨리 못보내 미안해<BR>사는게 참 힘들었어<BR>널 보며 난 견뎠어<BR>허나 네겐
보여줄수 없는 내 사랑 <BR>이별로 널 지키려해 <BR><BR>언젠가는 돌아갈께<BR>흔들리지 않는 나 되어 <BR>늦지않게 돌아갈께<BR>널
많이 사랑하니까<BR>아파도 안녕<BR>슬퍼도 안녕<BR><BR><BR>언젠가는 돌아갈께<BR>사랑할 자격 갖춘 나 되어 <BR>너의 곁으로
돌아갈께<BR>행복을 줄수 있을때 <BR>아파도 안녕<BR>널위해 안녕 <BR><BR>너의 모두를 사랑하면<BR>우리가 정말 사랑한다면
<BR>언젠가는 만날꺼야<BR>행복을 줄수있을때 <BR>조금만 울자 <BR>잠시만 울자<BR>아파도 안녕 <BR>널위해 안녕
    </div>

    </div>
</body>

위의 소스는 무한대로 내용 흐르는 소스 입니다..

이 강좌는 레이어를 이용한 것이기 때문에..
레이어 사이즈를 줄일수 있습니다..

소스중 <div id="layer1" style="width:200px; height:900px; position:absolute; left:384px; top:1px; z-index:1;">
    <div id="marqueechildlayer0" style="position:absolute; left:0; top:0; width:200; height:900;" namo_marquee>

이부분에서..

left:384px; top:1px; 가 레이어의 위치 입니다..
left는 왼쪽으로 얼마나 갖는냐 를 가리키는 것이고..
top는 높이 입니다..

width:200; height:900; 는 레이어의 사이즈 입니다..
width 는 양옆 사이즈고..
height 는 높이 사이즈 입니다..

그리고

<BR>그런데 사랑을했어 <BR>니곁에 감히 머무른 <BR>내 욕심을 용서치마<BR>방황이 많이 남았어 <BR>그 끝은 나도
모르는곳<BR>약하게 태어나서 미안해 <BR>그래서 널 보내려고 해 <BR><BR>언젠가는 돌아갈께<BR>사랑할 자격 갖춘 나
되어<BR>너의곁으로 돌아갈께<BR>행복을 줄수있을때 <BR>아파도 안녕<BR>잠시만 안녕 <BR><BR><BR>언제나 위태로운 나<BR>그런
내가 널 사랑을했어 <BR>외로운 고독이 두려워<BR>빨리 못보내 미안해<BR>사는게 참 힘들었어<BR>널 보며 난 견뎠어<BR>허나 네겐
보여줄수 없는 내 사랑 <BR>이별로 널 지키려해 <BR><BR>언젠가는 돌아갈께<BR>흔들리지 않는 나 되어 <BR>늦지않게 돌아갈께<BR>널
많이 사랑하니까<BR>아파도 안녕<BR>슬퍼도 안녕<BR><BR><BR>언젠가는 돌아갈께<BR>사랑할 자격 갖춘 나 되어 <BR>너의 곁으로
돌아갈께<BR>행복을 줄수 있을때 <BR>아파도 안녕<BR>널위해 안녕 <BR><BR>너의 모두를 사랑하면<BR>우리가 정말 사랑한다면
<BR>언젠가는 만날꺼야<BR>행복을 줄수있을때 <BR>조금만 울자 <BR>잠시만 울자<BR>아파도 안녕 <BR>널위해 안녕

이 부분은 흐르는 내용 입니다..

이부분은 다 삭제하시고 쓰시고 싶으신 내용을 써주시면 됩니다..

그럼이만..

↑의 자료는 제 사이트 웹피아에서 링크된 것입니다..

자료출처: http://webpia.ly.to

제목 글쓴이 날짜
APM에서 XE 설치시 깨짐현상 발생될때... file 비밀M 2013.05.14
파일박스 사용에 관하여 [2] wooildang 2013.04.26
이미지 리사이즈 적용이 안되는 경우 [4] 아고라 2009.06.30
[수정] CSS, JS 파일 gzip로 한꺼번에 압축해서 전송하기 [20] file SCAC 2011.09.02
모바일에서 댓글 자동 펼치기 (스킨:스케치북5모바일) [2] 준스타일 2013.05.03
array 함수와 in_array함수 이용한 시간 체크 똑디 2013.05.03
상담용 게시판 - 확장 변수 이용 [4] file 어라얼랑 2012.06.23
XE를 위한 DEBUG 이야기 [3] 우진홈 2013.04.30
xe 속도 엄청 빨라집니다. [4] 투투투쓰리 2013.03.12
최근게시물에 움직이는 GIF 불러오기 SuP 2013.04.25
개인서버나 호스팅운영하실분들 참고하세요 [6] 데브위트™ 2012.06.19
간단한 PHP 문법 [204] zero 2000.03.06
XE 1.5.X , 1.7.X 용 nginx rewrite [4] Root 2013.03.24
메뉴에 새글 표시 모듈이 작동하지 않은 문제 해결 [2] 샹하이 2013.04.15
meta_add 애드온 수정.(1.7.3 버전에 맞게..) [4] file 투씨 2013.04.01
메인화면에 플래시 쉽게 삽입하는 방법.. [12] 청개구리00 2008.08.30
스팸공동대응 api 모듈 지우기 [1] SCAC 2012.08.12
xe1.7.3.1 으로의 업데이트시 팝업모듈 오류 수정내역 [1] 날마다좋은날 2013.04.12
제로보드 xe 게시판 가로 푹 줄이기 방법좀 알려주세요. [1] 산업일꾼 2013.04.14
아이콘샵(v0.4) 관리자페이지 디자인수정파일(1.7.x 용) file 카이네드 2013.04.13