js实现类似新浪微博首页内容淡入淡出效果

本文介绍了JS的方法,实现了类似新浪微博首页内容淡入淡出的效果。分享给大家,供大家参考。具体分析如下:

点一点:


如果(list_li。长度> = 1){
list.insertbefore(李,list_li { 0 });
其他{ }
list.appendchild(李);
}


从前面插入新内容,如果没有新内容,则在后面插入新内容。

第二点:




VaR高度= li.offsetheight;
李。风格高度= 0;


获取李的高度,然后将李的高度设置为0,因为高度的变化是从0到现在的高度。

点三:




startrun(李,高
startrun(李,不透明度
})


首先,变化,透明度的变化。

最后,上面的代码:






非所有权文件

<!——
体、UL、李{ margin: 0;padding: 0;字体:宋体12px / 1.5;}
#列表{宽度:400px;保证金:10px汽车;}
#列表里{列表样式:无;填充:5px 0;
溢出:隐藏;底部边框:1px点缀# CCC;
滤镜:alpha(不透明度:0);透明度:0;垂直对齐:中间;}
-->


<!——
在window.onload =函数(){
VaR建立document.getelementbyid(-);
无功控制= document.getelementbyid(骗子);
var list = document.getelementbyid(一览表);
无功list_li = list.getelementsbytagname(礼);
btn.onclick =函数(){
Var Li = document.createelement(礼);
li.innerhtml = con.value;
值=;
如果(list_li。长度> = 1){
list.insertbefore(李,list_li { 0 });
其他{ }
list.appendchild(李);
}
VaR高度= li.offsetheight;
李。风格高度= 0;
startrun(李,高
startrun(李,不透明度
})
}
}
功能getstyle(obj,name){
如果(obj。currentstyle){
返回的对象。currentstyle {姓名};
其他{ }
返回getcomputedstyle(obj,false){姓名};
}
}
功能startrun(obj,属性,目标,FN){
ClearInterval(obj。定时器);
obj.timer = setInterval(){()函数(
var = 0;
如果(attr = =不透明度){
电流= math.round(parseFloat(getstyle(obj,ATTR))* 100);
其他{ }
电流= parseInt(getstyle(obj,ATTR));
}
var速度=(目标流) 8;
速度=速度> 0math.ceil(速度):Math.floor(速度);
如果(当前=目标){
ClearInterval(obj。定时器);
如果(FN){
(FN);
}
其他{ }
如果(attr = =不透明度){
obj.style.filter =Alpha(透明度=+(CUR +速度)+ );
obj.style.opacity =(CUR +速度) / 100;
其他{ }
obj。风格{属性} =电流+速度+PX;
}
}
},30)
}












希望本文能对大家的javascript程序设计有所帮助。