js實(shí)現(xiàn)類似新浪微博首頁內(nèi)容漸顯效果的方法
本文實(shí)例講述了js實(shí)現(xiàn)類似新浪微博首頁內(nèi)容漸顯效果的方法。分享給大家供大家參考。具體分析如下:
要點(diǎn)一:
if(list_li.length>=1){
list.insertBefore(li,list_li[0]);
}else{
list.appendChild(li);
}
從在前面插入新內(nèi)容,如果沒有新內(nèi)容,就是在后面插入新內(nèi)容。
要點(diǎn)二:
var height=li.offsetHeight; li.style.height='0';
取得li的高度,然后再li的高度設(shè)置為0,因?yàn)楦叨鹊淖兓菑?到現(xiàn)有高度。
要點(diǎn)三:
startrun(li,"height",height,function(){
startrun(li,"opacity","100");
})
先是高度變化,再是透明度變化
最后,上代碼:
<!DOCTYPE html>
<html>
<head>
<meta charset="gb2312" />
<title>無標(biāo)題文檔</title>
<style>
<!--
body,ul,li{margin:0; padding:0; font:12px/1.5 arial;}
#list{width:400px; margin:10px auto;}
#list li{list-style:none; padding:5px 0 ;
overflow:hidden; border-bottom:1px dotted #ccc;
filter:alpha(opacity:0); opacity:0; vertical-align:middle;}
-->
</style>
<script>
<!--
window.onload = function(){
var btn = document.getElementById("btn");
var con = document.getElementById("con");
var list = document.getElementById("list");
var list_li = list.getElementsByTagName("li");
btn.onclick = function(){
var li = document.createElement("li");
li.innerHTML = con.value;
con.value='';
if(list_li.length>=1){
list.insertBefore(li,list_li[0]);
}else{
list.appendChild(li);
}
var height=li.offsetHeight;
li.style.height='0';
startrun(li,"height",height,function(){
startrun(li,"opacity","100");
})
}
}
function getstyle(obj,name){
if(obj.currentStyle){
return obj.currentStyle[name];
}else{
return getComputedStyle(obj,false)[name];
}
}
function startrun(obj,attr,target,fn){
clearInterval(obj.timer);
obj.timer = setInterval(function(){
var cur = 0;
if(attr == "opacity"){
cur = Math.round(parseFloat(getstyle(obj,attr))*100);
}else{
cur = parseInt(getstyle(obj,attr));
}
var speed = (target-cur)/8;
speed = speed>0?Math.ceil(speed):Math.floor(speed);
if(cur == target){
clearInterval(obj.timer);
if(fn){
fn();
}
}else{
if(attr == "opacity"){
obj.style.filter = "alpha(opacity="+(cur+speed)+")";
obj.style.opacity = (cur+speed)/100;
}else{
obj.style[attr] = cur + speed + "px";
}
}
},30)
}
//-->
</script>
</head>
<body>
<textarea id="con" cols="50" rows="5"></textarea>
<input id="btn" name="" type="button" value="發(fā)布">
<ul id="list">
</ul>
</body>
</html>
希望本文所述對(duì)大家的javascript程序設(shè)計(jì)有所幫助。
- javascript實(shí)現(xiàn)類似于新浪微博搜索框彈出效果的方法
- javascript 新浪背投廣告實(shí)現(xiàn)代碼
- 仿新浪微博登陸郵箱提示效果的js代碼
- js實(shí)現(xiàn)的仿新浪微博完美的時(shí)間組件升級(jí)版
- Js仿新浪微博首頁內(nèi)容滾動(dòng)
- js 新浪的一個(gè)圖片播放圖片輪換效果代碼
- javascript實(shí)現(xiàn)在下拉列表中顯示多級(jí)樹形菜單的方法
- javascript簡(jiǎn)單實(shí)現(xiàn)滑動(dòng)菜單效果的方法
- Javascript仿新浪游戲頻道鼠標(biāo)懸停顯示子菜單效果
相關(guān)文章
Javascript實(shí)現(xiàn)圖片輪播效果(二)圖片序列節(jié)點(diǎn)的控制實(shí)現(xiàn)
這篇文章主要介紹了Javascript實(shí)現(xiàn)圖片輪播效果(二)圖片序列節(jié)點(diǎn)的控制實(shí)現(xiàn)的相關(guān)資料,需要的朋友可以參考下2016-02-02
JS實(shí)現(xiàn)動(dòng)態(tài)給標(biāo)簽控件添加事件的方法示例
這篇文章主要介紹了JS實(shí)現(xiàn)動(dòng)態(tài)給標(biāo)簽控件添加事件的方法,結(jié)合實(shí)例形式分析了javascript簡(jiǎn)單實(shí)現(xiàn)動(dòng)態(tài)添加事件的相關(guān)操作技巧,需要的朋友可以參考下2017-05-05
videojs+swiper實(shí)現(xiàn)淘寶商品詳情輪播圖
這篇文章主要為大家詳細(xì)介紹了videojs+swiper實(shí)現(xiàn)淘寶商品詳情輪播圖,輪播翻動(dòng),視頻暫停,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-04-04
一個(gè)用javascript寫的select支持上下鍵、首字母篩選以及回車取值的功能
一個(gè)用javascript寫的select支持上下鍵、首字母篩選以及回車取值的功能2009-09-09
js實(shí)現(xiàn)帶搜索功能的下拉框?qū)崟r(shí)搜索實(shí)時(shí)匹配
當(dāng)select輸入框中每輸入一點(diǎn)內(nèi)容的時(shí)候,在option中找出與內(nèi)容匹配的選項(xiàng)顯示在option的前面選項(xiàng)中,下面有個(gè)不錯(cuò)的示例,希望朋友們可以喜歡2013-11-11
js純數(shù)字逐一停止顯示效果的實(shí)現(xiàn)代碼
下面小編就為大家?guī)硪黄猨s純數(shù)字逐一停止顯示效果的實(shí)現(xiàn)代碼。小編覺得非常不錯(cuò)?,F(xiàn)在分享給大家。給大家一個(gè)參考2016-03-03

