WD1X.COM - 问答一下,轻松解决,电脑应用解决专家
主板显卡CPU内存显示器
硬盘维修显卡维修显示器维修
注册表系统命令DOS命令Win8
存储光存储鼠标键盘
内存维修打印机维修
WinXPWin7Win11Linux
硬件综合机箱电源散热器手机数码
主板维修CPU维修键盘鼠标维修
Word教程Excel教程PowerPointWPS
网络工具系统工具图像工具
数据库javascript服务器
PHP教程CSS教程XML教程

DHTML学习(七)

更新时间:2005-12-30 19:13 作者:45IT收集点击:

改变 Clip 值的通用子程序

clipTo() 让你能重新 Clip 一个 Layer 到给定的值

  function clipTo(obj,t,r,b,l) {
    if (ns4) {
 obj.clip.top = t
 obj.clip.right = r
 obj.clip.bottom = b
 obj.clip.left = l
    }
    else if (ie4) obj.clip = "rect("+t+"px "+r+"px "+b+"px "+l+"px)"
  }

调用时, 你要给出 Layer 的名字和四个边的 Clip 的值, 比如

  clipTo(block,0,100,100,0)

clipBy() 子程序:

clipBy() 可以让你相对于当前的 Clip 区域增减 Clip 的四个边

  function clipBy(obj,t,r,b,l) {
    if (ns4) {
 obj.clip.top = clipValues(obj,'t') + t
 obj.clip.right = clipValues(obj,'r') + r
 obj.clip.bottom = clipValues(obj,'b') + b
 obj.clip.left = clipValues(obj,'l') + l
    }
    else if (ie4) 
 obj.clip = "rect("+(this.clipValues(obj,'t')+t)+
 "px "+(this.clipValues(obj,'r')+r)+"px "
 +Number(this.clipValues(obj,'b')+b)+"px "
 +Number(this.clipValues(obj,'l')+l)+"px)"
  }

比如你想稍微增大 right 和 bottom 边的值, 你可以

  clipBy(block,0,10,5,0)

动画 Clipping (Wiping)

所谓 wiping 就是连续相对改变 clipping 区域,实际效果就变成动画效果.请看下例:

  function wipe1() {
    clipBy(block,0,5,0,0)
    setTimeout("wipe1()",30)
  }

我们还得加上个条件来停止 wiping, 
  function wipe1() {
    if (clipValues(block,'r')<300) {
 clipBy(block,0,5,0,0)
 setTimeout("wipe1()",30)
    }
  }

 


欢迎咨询/

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
你可能感兴趣的内容