实现Javascript透明特效功能

实现Javascript透明特效功能

ID:38082069

大小:58.00 KB

页数:6页

时间:2019-05-24

实现Javascript透明特效功能_第1页
实现Javascript透明特效功能_第2页
实现Javascript透明特效功能_第3页
实现Javascript透明特效功能_第4页
实现Javascript透明特效功能_第5页
资源描述:

《实现Javascript透明特效功能》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实现Javascript透明特效代码可控式Javascript透明特效也就是透明度可以自行设置,但是这种方法在IE7下极有可能失效,不过这些东西对大家了解Javascript透明特效还是有所帮助的。Javascript透明特效是script.aculo.us提到的特效中最简单的特效之一。既然是特效,必须涉及时间与空间的概念。时间我们可以用setTimeout与setInterval,个人比较喜欢setTimeout,虽然它每次调用都重复注册,但可控性比较好。空间就全凭CSS的绝对定位实现位移了。在开始之前,我们练习一下setTimeout的递归用法(用来模拟setInterval)

2、。01.functiontext(el){02.  varnode =(typeofel=="string")?document.getElementById(el):el;03.  vari=0;04.  varrepeat=function(){05.    setTimeout(function(){06.      node.innerHTML="

"+i+"

";07.      i++;08.      if(i<=100){09.        setTimeout(arguments.callee,100);10.      }11.    },100

3、)12.  }13.  repeat();14.}我们来试一下最简单的淡入特效,就是把node.innerHTML那一行改成透明度的设置。01.functionfadeIn(el){02.  varnode =(typeofel=="string")?document.getElementById(el):el;03.  vari=0;04.  varfade=function(){05.    setTimeout(function(){     06.        !+"v1"?(node.style.filter="alpha(opacity="+i+")"):(node

4、.style.opacity=i/100);07.      i++;08.      if(i<=100){09.        setTimeout(arguments.callee,100);10.      }11.    },100)12.  }13.  fade();14.}但是这样并不完美,因为IE的滤镜可能会在IE7中失效,我们必须要用zoom=1来激活hasLayout。我们再添加一些可制定参数扩充它。注释已经非常详细,不明白在留言里再问我吧。01.functionopacity(el){02.  //必选参数03.  varnode =(typeofel=="s

5、tring")?document.getElementById(el):el,04.  //可选参数05.  options=arguments[1]

6、

7、{},06.  //变化的持续时间07.  duration=options.duration

8、

9、1.0,08.  //开始时透明度09.  from=options.from

10、

11、0.0,10.  //结束时透明度11.  to=options.to

12、

13、0.5,12.  operation=1,13.  init=0;14.  if(to-from<0){15.    operation=-1,16.    init=1;17. 

14、 }18.  //内部参数19.  //setTimeout执行的间隔时间,单位毫秒20.  varfrequency=100,21.  //设算重复调用的次数22.  count=duration*1000/frequency,23.  //设算每次透明度的递增量24.  detal=Math.abs(to-from) /count,25.  //正在进行的次数26.  i=0;27.  varmain=function(){28.    setTimeout(function(){29.      if(!+"v1"){30.        if(node.currentSt

15、yle.hasLayout) node.style.zoom=1;//防止滤镜失效31.        node.style.filter="alpha(opacity="+(init*100+operation*detal*i*100).toFixed(1)+")"32.      }else{33.        node.style.opacity= (init+operation*detal*i).toFixed(3)34.      }35.      no

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。