新浪微博文字滚动效果

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>新浪微博文字滚动效果</title>
    <style>
    #ul1 {background:white; margin:0px; padding:0px; width:500px; height:300px; border:1px solid black; overflow:hidden;}
    li {border-bottom:1px dashed #CCC; padding:15px 10px 3px 10px; margin:0px; list-style:none;}
    </style>
    <script type="text/javascript">
    var arr=['洗脸也能抽筋??', '好冷啊', '一如既往地喜欢特务男,哈哈,有脑有身手', '我靠近你,不是因为你什么都好,不是因为你能给我一个安心而不错的未来,不是因为你是我的老公,不是因为我觉得我们肯定这一辈子会这样好好走下去,不是因为再找一段感情代价太大,而是因为,我爱你,我觉得看到你,就会心动。', '我承认我是个没有鼓励就没有动力的人,缺乏太多毅力。等过了这个冬天。也许我真的能把自己的心收拾干净。空出心里最重要的位置。给自己未来的新娘。剩下的空间,全是梦想,家庭和朋友。'];
    var t=setInterval(function(){
    var sTxt=arr.shift();
    createDom(sTxt);
    arr.push(sTxt);
    },2000)
    var bPause=false;
    function startMove(obj,attr,iTarget,fnMoveEnd)
    {
    if(obj.timer)
    {
    clearInterval(obj.timer);
    }
    obj.timer=setInterval(function(){
    if(bPause)
    {
    return;
    }
    doMove(obj,attr,iTarget,fnMoveEnd);
    },30)
    };
    function getAttr(obj,attr)
    {
    if(obj.currentStyle)
    {
    return obj.currentStyle[attr];
    }
    else
    {
    return document.defaultView.getComputedStyle(obj,false)[attr];
    }
    }
    function doMove(obj,attr,iTarget,fnMoveEnd)
    {
    var iSpeed=0;
    var weizhi=0;
    if(attr=="opacity")
    {
    weizhi=parseFloat(getAttr(obj,"opacity"));
    }
    else
    {
    weizhi=parseFloat(getAttr(obj,attr))
    }
    if(Math.abs(iTarget-weizhi)<1/100)
    {
    clearInterval(obj.timer);
    obj.timer=null;
    if(fnMoveEnd)
    {
    fnMoveEnd();
    }
    }
    else
    {
    iSpeed=(iTarget-weizhi)/8;
    if(attr=="opacity")
    {
    obj.style.filter="alpha(opacity:"+(weizhi+iSpeed)*100+")";
    obj.style.opacity=weizhi+iSpeed;
    }
    else
    {
    iSpeed=iSpeed>0?Math.ceil(iSpeed):Math.floor(iSpeed);
    obj.style[attr]=weizhi+iSpeed+"px";
    }
    }
    };
    function leaveMessage()
    {
    var oText=document.getElementById("txt1");
    createDom(oText.value);
    oText.value="";
    };
    function createDom(sTxt)
    {
    var oUl=document.getElementById("ul1");
    var aLi=oUl.getElementsByTagName("li");
    var oLi=document.createElement("li");
    var iHeight=0;
    oLi.innerHTML=sTxt;
    oLi.style.filter="alpha(opacity:0)";
    oLi.style.opacity=0;
    if(aLi.length)
    {
    oUl.insertBefore(oLi,aLi[0])
    }
    else
    {
    oUl.appendChild(oLi)
    }
    //开始运动
    iHeight=oLi.offsetHeight;
    oLi.style.height="0px";
    oLi.style.overflow='hidden';
    startMove(oLi,"height",iHeight,function(){
    startMove(oLi,"opacity",1)
    })
    oUl.onmouseover=function()
    {
    bPause=true;
    };
    oUl.onmouseout=function()
    {
    bPause=false;
    }
    };
    </script>
    </head>
    <body>
    <ul id="ul1"></ul>
    </body>
    </html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值