首页 新闻 会员 周边 捐助

js fptype属性的功能及用途(求助)

0
悬赏园豆:30 [待解决问题]

<SCRIPT language="JavaScript" FPTYPE="dynamicanimation8">

<!--

dynamicanimAttr = "dynamicanimation8"  

animateElements = new Array()  

currentElement = 0 

 speed = 0  

stepsZoom = 8 

 stepsWord = 8  

stepsFly = 12  

stepsSpiral = 16  

steps = stepsZoom 

 step = 0  

outString = ""  

function dynAnimation8()  {    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>


//<body>区域中

<body  onload="dynAnimation8()">

<p dynamicanimation8="dropWord"style="position: relative !important; left: 10000 !important" align="center"><font size="3" color="#ee00FF">很 好 玩 吧 ! 有 没 有 吓 一 跳 ?<font size="7"><b><font face="Arial, Helvetica, sans-serif" color="#FF0000">YES!   </font></b></font></font></p>

</body>



kwm的主页 kwm | 初学一级 | 园豆:175
提问于:2010-08-22 09:30
< >
分享
所有回答(2)
0

应该是一个自定义属性,Firefox没有效果,IE下也死了。

Astar | 园豆:40805 (高人七级) | 2010-08-22 09:41
http://forum.weborum.com/index.php?showtopic=5418 用google翻译这篇文章,有所帮助,看着像FrontPage生成的东西。
支持(0) 反对(0) Astar | 园豆:40805 (高人七级) | 2010-08-22 09:43
0

fptype是frontpage里面自定义的属性。。。不是标准的JS

 估计这段代码是使用frontpage制作的

就和用DW制作网页生成脚本时候会出现以MM开头的函数或变量

kyo-yo | 园豆:5587 (大侠五级) | 2010-08-22 11:54
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册