轉自http://kb.cnblogs.com/page/90854/
參數說明:
fadeIn()與fadeOut()均有三個參數,第一個是事件, 必填; 第二個是淡入淡出速度, 正整數, 大小自己權衡, 可選參數; 第三個, 是指定淡入淡出到的透明度值(類似於jQuery中的fadeTo()), 0~100的正整數值, 也是可選參數.
window.onload = function(){ //底層共用 var iBase = { Id: function(name){ return document.getElementById(name); }, //設置元素透明度,透明度值按IE規則計,即0~100 SetOpacity: function(ev, v){ ev.filters ? ev.style.filter = 'alpha(opacity=' + v + ')' : ev.style.opacity = v / 100; } } //淡入效果(含淡入到指定透明度) function fadeIn(elem, speed, opacity){ /* * 參數說明 * elem==>需要淡入的元素 * speed==>淡入速度,正整數(可選) * opacity==>淡入到指定的透明度,0~100(可選) */ speed = speed || 20; opacity = opacity || 100; //顯示元素,並將元素值為0透明度(不可見) elem.style.display = 'block'; iBase.SetOpacity(elem, 0); //初始化透明度變化值為0 var val = 0; //循環將透明值以5遞增,即淡入效果 (function(){ iBase.SetOpacity(elem, val); val += 10; if (val <= opacity+500) { setTimeout(arguments.callee, speed); }else{ fadeOut(iBase.Id(elem.id)); } })(); } //淡出效果(含淡出到指定透明度) function fadeOut(elem, speed, opacity){ /* * 參數說明 * elem==>需要淡入的元素 * speed==>淡入速度,正整數(可選) * opacity==>淡入到指定的透明度,0~100(可選) */ speed = speed || 20; opacity = opacity || 0; //初始化透明度變化值為0 var val = 150; //循環將透明值以5遞減,即淡出效果 (function(){ iBase.SetOpacity(elem, val); val -= 10; console.log(opacity) if (val >= opacity) { setTimeout(arguments.callee, speed); }else if (val < 0) { //元素透明度為0后隱藏元素 elem.style.display = 'none'; } })(); } /* var btns = iBase.Id('demo').getElementsByTagName('input'); btns[0].onclick = function(){ } btns[1].onclick = function(){ fadeOut(iBase.Id('fadeOut'),40); } btns[2].onclick = function(){ fadeOut(iBase.Id('fadeTo'), 20, 10); }*/ $(".topic_foot_ul2").on("tap",function(){ var is = $(this); is.find("a").toggleClass("red"); if(!($(".red")).length==0){ fadeIn(iBase.Id('fadeIn'),20,100); console.log("1") }else{ fadeIn(iBase.Id('fadeOut'),20,100); } }) }