사이트 내 전체검색
[javascript] 사방에서 날오는 텍스트
로빈아빠
https://cmd.kr/javascript/483 URL이 복사되었습니다.

본문

<head>
<style>

 A { color:00ff00; text-decoration:none; }

 A:Hover { color:0000ff; text-decoration:none; }

</style>

<script language="JavaScript">

<!--

  dynamicanimAttr = "mydynamicanimation"

  animateElements = new Array()

  currentElement = 0

  speed = 0

  stepsZoom = 8

  stepsWord = 8

  stepsFly = 12

  stepsSpiral = 16

  steps = stepsZoom

  step = 0

  outString = ""

  function mydynAnimation()

  {

    var ms = navigator.appVersion.indexOf("MSIE")

    ie4 = (ms>0) && (parseInt(navigator.appVersion.substring(ms+5, ms+6)) >= 4)

    if(!ie4)

    {

      if((navigator.appName == "Netscape") &&

        (parseInt(navigator.appVersion.substring(0, 1)) >= 4))

      {

        for (index=document.layers.length-1; index >= 0; index--)

        {

            layer=document.layers[index]

            if (layer.left==10000)

                layer.left=0

        }

      }

      return

    }

    for (index=document.all.length-1; index >= document.body.sourceIndex; index--)

    {

      el = document.all[index]

      animation = el.getAttribute(dynamicanimAttr, false)

      if(null != animation)

      {

        if(animation == "dropWord" || animation == "flyTopRightWord" || animation == "flyBottomRightWord")

        {

          ih = el.innerHTML

          outString = ""

          i1 = 0

          iend = ih.length

          while(true)

          {

            i2 = startWord(ih, i1)

            if(i2 == -1)

              i2 = iend

            outWord(ih, i1, i2, false, "")

            if(i2 == iend)

              break

            i1 = i2

            i2 = endWord(ih, i1)

            if(i2 == -1)

              i2 = iend

            outWord(ih, i1, i2, true, animation)

            if(i2 == iend)

              break

            i1 = i2

          }

          document.all[index].innerHTML = outString

          document.all[index].style.posLeft = 0

          document.all[index].setAttribute(dynamicanimAttr, null)

        }

        if(animation == "zoomIn" || animation == "zoomOut")

        {

          ih = el.innerHTML

          outString = "<SPAN " + dynamicanimAttr + "=\\"" + animation + "\\" style=\\"position: relative; left: 10000;\\">"

          outString += ih

          outString += "</SPAN>"

          document.all[index].innerHTML = outString

          document.all[index].style.posLeft = 0

          document.all[index].setAttribute(dynamicanimAttr, null)

        }

      }

    }

    i = 0

    for (index=document.body.sourceIndex; index < document.all.length; index++)

    {

      el = document.all[index]

      animation = el.getAttribute(dynamicanimAttr, false)

      if (null != animation)

      {

        if(animation == "flyLeft")

        {

          el.style.posLeft = 10000-offsetLeft(el)-el.offsetWidth

          el.style.posTop = 0

        }

        else if(animation == "flyRight")

        {

          el.style.posLeft = 10000-offsetLeft(el)+document.body.offsetWidth

          el.style.posTop = 0

        }

        else if(animation == "flyTop" || animation == "dropWord")

        {

          el.style.posLeft = 0

          el.style.posTop = document.body.scrollTop-offsetTop(el)-el.offsetHeight

        }

        else if(animation == "flyBottom")

        {

          el.style.posLeft = 0

          el.style.posTop = document.body.scrollTop-offsetTop(el)+document.body.offsetHeight

        }

        else if(animation == "flyTopLeft")

        {

          el.style.posLeft = 10000-offsetLeft(el)-el.offsetWidth

          el.style.posTop = document.body.scrollTop-offsetTop(el)-el.offsetHeight

        }

        else if(animation == "flyTopRight" || animation == "flyTopRightWord")

        {

          el.style.posLeft = 10000-offsetLeft(el)+document.body.offsetWidth

          el.style.posTop = document.body.scrollTop-offsetTop(el)-el.offsetHeight

        }

        else if(animation == "flyBottomLeft")

        {

          el.style.posLeft = 10000-offsetLeft(el)-el.offsetWidth

          el.style.posTop = document.body.scrollTop-offsetTop(el)+document.body.offsetHeight

        }

        else if(animation == "flyBottomRight" || animation == "flyBottomRightWord")

        {

          el.style.posLeft = 10000-offsetLeft(el)+document.body.offsetWidth

          el.style.posTop = document.body.scrollTop-offsetTop(el)+document.body.offsetHeight

        }

        else if(animation == "spiral")

        {

          el.style.posLeft = 10000-offsetLeft(el)-el.offsetWidth

          el.style.posTop = document.body.scrollTop-offsetTop(el)-el.offsetHeight

        }

        else if(animation == "zoomIn")

        {

          el.style.posLeft = 10000

          el.style.posTop = 0

        }

        else if(animation == "zoomOut")

        {

          el.style.posLeft = 10000

          el.style.posTop = 0

        }

        else

        {

          el.style.posLeft = 10000-offsetLeft(el)-el.offsetWidth

          el.style.posTop = 0

        }

        el.initLeft = el.style.posLeft

        el.initTop = el.style.posTop

        animateElements[i++] = el

      }

    }

    window.setTimeout("animate();", speed)

  }

  function offsetLeft(el)

  {

    x = el.offsetLeft

    for (e = el.offsetParent; e; e = e.offsetParent)

      x += e.offsetLeft;

    return x

  }

  function offsetTop(el)

  {

    y = el.offsetTop

    for (e = el.offsetParent; e; e = e.offsetParent)

      y += e.offsetTop;

    return y

  }

  function startWord(ih, i)

  {

    for(tag = false; i < ih.length; i++)

    {

      c = ih.charAt(i)

      if(c == '<')

        tag = true

      if(!tag)

        return i

      if(c == '>')

        tag = false

    }

    return -1

  }

  function endWord(ih, i)

  {

    nonSpace = false

    space = false

    while(i < ih.length)

    {

      c = ih.charAt(i)

      if(c != ' ')

        nonSpace = true

      if(nonSpace && c == ' ')

        space = true

      if(c == '<')

        return i

      if(space && c != ' ')

        return i

      i++

    }

    return -1

  }

  function outWord(ih, i1, i2, dyn, anim)

  {

    if(dyn)

      outString += "<SPAN " + dynamicanimAttr + "=\\"" + anim + "\\" style=\\"position: relative; left: 10000;\\">"

    outString += ih.substring(i1, i2)

    if(dyn)

      outString += "</SPAN>"

  }

  function animate()

  {

    el = animateElements[currentElement]

    animation = el.getAttribute(dynamicanimAttr, false)

    step++

    if(animation == "spiral")

    {

      steps = stepsSpiral

      v = step/steps

      rf = 1.0 - v

      t = v * 2.0*Math.PI

      rx = Math.max(Math.abs(el.initLeft), 200)

      ry = Math.max(Math.abs(el.initTop),  200)

      el.style.posLeft = Math.ceil(-rf*Math.cos(t)*rx)

      el.style.posTop  = Math.ceil(-rf*Math.sin(t)*ry)

    }

    else if(animation == "zoomIn")

    {

      steps = stepsZoom

      el.style.fontSize = Math.ceil(50+50*step/steps) + "%"

      el.style.posLeft = 0

    }

    else if(animation == "zoomOut")

    {

      steps = stepsZoom

      el.style.fontSize = Math.ceil(100+200*(steps-step)/steps) + "%"

      el.style.posLeft = 0

    }

    else

    {

      steps = stepsFly

      if(animation == "dropWord" || animation == "flyTopRightWord" || animation == "flyBottomRightWord")

        steps = stepsWord

      dl = el.initLeft / steps

      dt = el.initTop  / steps

      el.style.posLeft = el.style.posLeft - dl

      el.style.posTop = el.style.posTop - dt

    }

    if (step >= steps)

    {

      el.style.posLeft = 0

      el.style.posTop = 0

      currentElement++

      step = 0

    }

    if(currentElement < animateElements.length)

      window.setTimeout("animate();", speed)

  }

//-->

</script>

</head>

<body bgcolor="#f5f5f5" onLoad="mydynAnimation()">

<center>

<font style="font-family:Serif;font-size:xx-large;color:#009999;font-weight:bold">

<p align="center" style="LEFT:10000px! important; POSITION: relative! important" mydynamicanimation="flyBottomRightWord">

    Happy script

</p>

</font>

<font style="font-family:Courier,monospace;font-size:x-large;color:#0066cc;font-weight:bold">

<p align="center" style="LEFT:10000px! important; POSITION: relative! important" mydynamicanimation="flyTopRightWord">

      :: Mew ::

</p>

</font>

<font style="font-family:Arial;font-size:large;color:#0099ff;font-weight:bold;font-style:italic">

<p align="center" style="LEFT:10000px! important; POSITION: relative! important" mydynamicanimation="dropWord">

      사방에서 날아오는 텍스트

</p>

</font>

<font style="font-family:Times;font-size:medium;color:#0066ff;font-weight:bold;font-style:italic">

<p align="center" style="LEFT:10000px! important; POSITION: relative! important" mydynamicanimation=" ">

      *^.^*

</p>

</font>

</center>

</body>
[이 게시물은 VIRHAC님에 의해 2009-09-13 14:38:24 HTML에서 이동 됨]

댓글목록

등록된 댓글이 없습니다.

831 (7/17P)

Search

Copyright © Cmd 명령어 3.21.246.53