首页 > 代码库 > jquery实现自动滚屏效果,适用用公告新闻等滚屏

jquery实现自动滚屏效果,适用用公告新闻等滚屏

从网络上找到的例子,自己做了下扩展,原示例是向上滚动,扩展了一个向下滚动的方法:

<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>滚屏实验</title><style type="text/css">ul,li{margin:0;padding:0}#scrollDiv{width:300px;height:100px;min-height:25px;line-height:25px;border:#ccc 1px solid;overflow:hidden}#scrollDiv li{height:25px;padding-left:10px;}</style>    <script src=http://www.mamicode.com/"js/jquery-1.4.1.js"></script><script type="text/javascript">    (function ($) {        $.fn.extend({            Scroll: function (opt, callback) {                //参数初始化                if (!opt) var opt = {};                var _this = this.eq(0).find("ul:first");                var lineH = _this.find("li:first").height(), //获取行高                        line = opt.line ? parseInt(opt.line, 10) : parseInt(this.height() / lineH, 10), //每次滚动的行数,默认为一屏,即父容器高度                        speed = opt.speed ? parseInt(opt.speed, 10) : 500, //卷动速度,数值越大,速度越慢(毫秒)                        timer = opt.timer ? parseInt(opt.timer, 10) : 2000; //滚动的时间间隔(毫秒)                if (line == 0) line = 1;                var upHeight = 0 - line * lineH;                var downHeight=line * lineH - 0;                //滚动函数                scrollUp = function () {                    _this.animate(                        { marginTop: upHeight },                        speed,                        function () {                            for (i = 1; i <= line; i++) {                                _this.find("li:first").appendTo(_this);                            }                            _this.css({ marginTop: 0 });                        }                    );                },                //向下滚动函数                scrollDown = function () {                    _this.animate(                        { marginTop: downHeight },//动画展示css样式                        speed,                        function () {                            _this.find("li:last").prependTo(_this);                            _this.css({ marginTop: 0 });                        }                        )                }                var timerID                //鼠标事件绑定                _this.hover(function () {                    clearInterval(timerID);                }, function () {                    timerID = setInterval("scrollDown()", timer);//这里调用向下或者向上滚动函数                }).mouseout();            }        })    })(jQuery);    $(document).ready(function () {        $("#scrollDiv").Scroll({ line: 1, speed: 500, timer: 2000 });    });</script></head><body><p>多行滚动演示:</p><div id="scrollDiv">  <ul>    <li>这是公告标题的第1行</li>    <li>这是公告标题的第2行</li>    <li>这是公告标题的第3行</li>    <li>这是公告标题的第4行</li>    <li>这是公告标题的第5行</li>    <li>这是公告标题的第6行</li>    <li>这是公告标题的第7行</li>    <li>这是公告标题的第8行</li>  </ul></div></body></html>

 

jquery实现自动滚屏效果,适用用公告新闻等滚屏