`
niunan
  • 浏览: 699968 次
  • 性别: Icon_minigender_1
  • 来自: 南宁
社区版块
存档分类
最新评论

jQuery控制元素间隔滚动!

阅读更多
只记录了本人需要用到的,转载自http://www.yaosansi.com/post/1309.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!--
	创建人:牛腩
	创建时间:2009-1-12 11:59:55
-->
<html xmlns="http://www.w3.org/1999/xhtml">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<head>
    <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 type="text/javascript" src="/js/jquery.pack.js"></script>

    <script type="text/javascript">

        $.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) : 3000; //滚动的时间间隔(毫秒)

                if (line == 0) line = 1;

                var upHeight = 0 - line * lineH;

                //滚动函数

                scrollUp = function() {

                    _this.animate({

                        marginTop: upHeight

                    }, speed, function() {

                        for (i = 1; i <= line; i++) {

                            _this.find("li:first").appendTo(_this);

                        }

                        _this.css({ marginTop: 0 });

                    });

                }

                //鼠标事件绑定

                _this.hover(function() {

                    clearInterval(timerID);

                }, function() {

                    timerID = setInterval("scrollUp()", timer);

                }).mouseout();

            }

        })





        $(document).ready(function() {

            $("#scrollDiv").Scroll({ line: 4, speed: 500, timer: 3000 });

        });

    </script>

</head>
<body>
    <p>
        多行滚动演示:</p>
    <div id="scrollDiv">
        <ul>
            <li>这是公告标题的第一行</li>
            <li>这是公告标题的第二行</li>
            <li>这是公告标题的第三行</li>
            <li>这是公告标题的第四行</li>
            <li>这是公告标题的第五行</li>
            <li>这是公告标题的第六行</li>
            <li>这是公告标题的第七行</li>
            <li>这是公告标题的第八行</li>
        </ul>
    </div>
</body>
</html>


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics