自己写的JS实现淡入淡出效果(fadeIn/fadeOut/fadeTo)

作者:小菜 更新时间:2025-02-25 点击数:
简介:淡入淡出效果,在日常项目中经常用到,可惜原生JS没有类似的方法,而有时小的页面并不值得引入一个jQuery库,所以就自己写了一个,已封装, 有用得着的朋友, 可

【菜科解读】

淡入淡出效果,在日常项目中经常用到,可惜原生JS没有类似的方法,而有时小的页面并不值得引入一个jQuery库,所以就自己写了一个,已封装, 有用得着的朋友, 可以直接使用. 代码中另附有一个设置元素透明度的方法, 是按IE规则(0~100)设置, 若改成标准设置方法(0.00~1.00), 下面使用时请考虑浮点精确表达差值. 参数说明: fadeIn()与fadeOut()均有三个参数,第一个是事件, 必填; 第二个是淡入淡出速度, 正整数, 大小自己权衡, 可选参数; 第三个, 是指定淡入淡出到的透明度值(类似于jQuery中的fadeTo()), 0~100的正整数值, 也是可选参数. 核心代码及演示: 查看样例演示01 //淡入效果(含淡入到指定透明度) 02 function fadeIn(elem, speed, opacity){ 03 /* 04 * 参数说明 05 * elem==>需要淡入的元素 06 * speed==>淡入速度,正整数(可选) 07 * opacity==>淡入到指定的透明度,0~100(可选) 08 */ 09 speed = speed || 20; 10 opacity = opacity || 100; 11 //显示元素,并将元素值为0透明度(不可见) 12 elem.style.display = 'block'; 13 iBase.SetOpacity(elem, 0); 14 //初始化透明度变化值为0 15 var val = 0; 16 //循环将透明值以5递增,即淡入效果 17 (function(){ 18 iBase.SetOpacity(elem, val); 19 val += 5; 20 if (val 需要淡入的元素 31 * speed==>淡入速度,正整数(可选) 32 * opacity==>淡入到指定的透明度,0~100(可选) 33 */ 34 speed = speed || 20; 35 opacity = opacity || 0; 36 //初始化透明度变化值为0 37 var val = 100; 38 //循环将透明值以5递减,即淡出效果 39 (function(){ 40 iBase.SetOpacity(elem, val); 41 val -= 5; 42 if (val >= opacity) { 43 setTimeout(arguments.callee, speed); 44 }else if (val 自己,写的,实现,淡入,淡出,效果,fadeIn,fadeO

如何样在手机上申请自己的邮箱

最近怎么样在手机上申请自己的邮箱?_如何申请邮箱免费注册?事件在热度非常高,为大家准备了完整关于怎么样在手机上申请自己的邮箱?_如何申请邮箱免费注册?事件的所有相关内容,如果大家想知道更多这方面的情况,请持续关注本站!怎么样在手机上申请自己的邮箱?在手机上申请电子邮箱的步骤如下:1. 首先,在手机上找到电子邮件应用程序并点击打开。

如果您是第一次使用,屏幕上会提示您选择要添加的邮箱类型。

这里以新浪邮箱为例,点击“新浪邮箱”进行设置。

2. 接下来,您会看到一个提示:“只需几个简单的步骤,即可完成电子邮件账户设置”。

按照屏幕上的指示,输入您的账号和密码,然后点击“下一步”。

3. 完成上述步骤后,您的电子邮箱就成功注册并添加到手机上了。

现在您可以开始使用该邮箱收发邮件了。

通过以上步骤,您可以轻松地在手机上创建和配置新浪邮箱。

希望这些说明对您有所帮助。

如何申请邮箱免费注册?要免费申请网易邮箱,您可以按照以下步骤操作:首先,打开手机上的“网易邮箱”App。

根据页面提示进行操作,即可轻松完成邮箱的免费注册。

通过这些简单的步骤,您就能成功注册一个网易邮箱账号,并开始使用各种邮件服务功能。

上述就是关于怎么样在手机上申请自己的邮箱?_如何申请邮箱免费注册?的全部内容了,希望能够有所帮助。

更多相关攻略和资讯可以关注我们多特资讯频道,之后将为大家带来更多精彩内容。

更多全新内容敬请关注多特软件站(www.duote.com)!

重载toString轻松实现JSHashMap

用过Java的都知道,里面有个功能强大的数据结构——HashMap,它能提供键与值的对应访问。

不过熟悉JS的朋友也会说,JS里面到处都是hashmap,因为每个对象都提供了map[key]的访问形式。

不过请仔细对比一下,你会发现其中差别还是很大的。

Java HashMap的key是Object类型,所以可以任何类型的参数,而JS的key只能是字符串或是数字。

你也许会说,obj={};map[obj]=1;这段代码传入了既不是数字也不是字符的key,但也没发生错误啊。

那是因为解释器将obj对象通过内置的toString方法转换成“[object Object]”这段字符了,你可以用for each下map看看。

而java之所以能够接受任何类型的key,是因为其Object实现了HashCode方法,而每个类都继承或重写了Object的HashCode,所以任何变量都有一个哈希值。

我们也可以用JS来尝试一下。

前面提到了toString方法,用于任何类型转成字符;和它类似的还有另一个方法:valueOf,用于转型成数字。

因为数字比较容易索引,我们先尝试valueOf:Object.prototype.valueOf = function() { alert("Hello~") }; var map = []; var obj = {}; map[obj] = 1; 结果很失望,对话框并没有跳出来,说明JS引擎没有尝试将obj对象转成数字。

下面再尝试修改成toString方法: Object.prototype.toString = function() { alert("Hello~") }; var map = {}; var obj = {}; map[obj] = 1; 这时对话框跳出来了。

当然我们没有返回数据,这个1就被保存在了map["undefined"]里面。

但若我们返回一个数值,并且能保证每个变量唯一的数值,那么就可以用最原始的map[key]的方式索引任何类型了。

我们重载Object的toString方法:var HASH_ID = 0; Object.prototype.toString = function() { if(this._HASH == null) this._HASH = HASH_ID++; return "Obj:" + this._HASH; }; 下面来测试一下: var HashMap = {}; var obj1 = {}; var obj2 = {}; HashMap[obj1] = "Foo1"; HashMap[obj2] = "Foo2"; alert(HashMap[obj1] + " & " + HashMap[obj2]); HashMap[obj1] = "Bar1"; HashMap[obj2] = "Bar2"; alert(HashMap[obj1] + " & " + HashMap[obj2]); 分别输出:Foo1 & Foo2 和 Bar1 & Bar2,这说明了obj1,obj2始终对应着同个索引。

当然,如果object自身重写了toString方法就不一定了,它也许每次返回都不一样的值。

所以运用的时候,要根据实际情况做相应的调整。

重载,toString,轻松,实现,JSHashMap,用过

加入收藏
               

自己写的JS实现淡入淡出效果(fadeIn/fadeOut/fadeTo)

点击下载文档

格式为doc格式

  • 账号登录
社交账号登录