我用js写一个公告栏,实现公告内容从底部移动到顶部,在平移的过程中,为什么出现动画不平移不连续的感觉,就像秒针一样一跳一跳,文字平移也不平移。是不是我设置的时间间隔太长一次平移太多像素的原因。另外求好的公告样的原码。

解决方案 »

  1.   

    这个看看<html>
    <head>
    <title>heh</title>
    <style type="text/css">
    body {
        margin:0;
        padding:0;
    }
    ul,ol {
        margin:0;
        padding:0;
    }
    td div{
        width:150px;
        height:170px;
        border:solid 1px #060;
    }
    </style>
    </head>
    <body>
    <input type="button" onclick="left(this)" value="left" ID="Button1" NAME="Button1"/><input type="button" onclick="right(this)" value="right" ID="Button2" NAME="Button2"/>
    <div style="border:solid 1px #06c;height:200px;width:90%;overflow:hidden" id="inner">
    <table ID="Table1">
    <tr>
    <td><div>a</div></td>
    <td><div>b</div></td>
    <td><div>c</div></td>
    <td><div>d</div></td>
    <td><div>e</div></td>
    <td><div>f</div></td>
    <td><div>g</div></td>
    <td><div>h</div></td>
    <td><div>i</div></td>
    <td><div>j</div></td>
    <td><div>k</div></td>
    <td><div>l</div></td>
    <td><div>m</div></td>
    <td><div>n</div></td>
    <td><div>o</div></td>
    </tr>
    </table>
    </div>
    </body>
    <script type="text/javascript">    var d=document.getElementById("inner");
    var left=function(obj) {    d.scrollLeft-=156;

    var e=0
    var right=function(obj) {    e=d.scrollLeft+156
        run()
    }var run = function(){
        if(d.scrollLeft>=e){d.scrollLeft=e;return;}
        d.scrollLeft+=1;
        setTimeout(run,10);
    }
    </script>
    </html>