zoukankan      html  css  js  c++  java
  • jquery myscroll文字上下无缝滚动插件 简单使用

    效果图

    scroll_table.html

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8">
            <title>表格滚动</title>
            <script src="jquery.min.1.8.3.js" type="text/javascript" charset="utf-8"></script>
            <script src="scroll_table.js" type="text/javascript" charset="utf-8"></script>
            <script type="text/javascript">
                $(function() {
                    function getData() {
                        var html = '';
                        for (var i = 0; i < 100; i++) {
                            var value = i + 1;
                            html += '<tr>' +
                                '<td>' + value + '</td>' +
                                '<td>' + value + '</td>' +
                                '<td>' + value + '</td>' +
                                '<td>' + value + '</td>' +
                                '</tr>';
                        }
                        $('#tbList').html(html);
                    }
                    
                    getData();
                    setTimeout(function() {
                        $('.s_div').myScroll({
                            speed: 60,
                            rowHeight: 40
                        });
                    }, 500);
                });
            </script>
            <style type="text/css">
                table{
                    width: 100%;
                }
                #tbList tr{
                    height: 40px;    /*不给固定高度,会抽搐*/
                }
                #tbList tr td{
                    text-align: center;
                }
            </style>
        </head>
        <body>
            <div class="main_table" style=" 600px; height: 400px; margin: 0 auto; border: 1px solid #eee;">
                <table class="table-info-header">
                    <colgroup>
                        <col width="25%" />
                        <col width="25%" />
                        <col width="25%" />
                        <col width="25%" />
                    </colgroup>
                    <thead>
                        <tr>
                            <th>
                                1
                            </th>
                            <th>
                                2
                            </th>
                            <th>
                                3
                            </th>
                            <th>
                                4
                            </th>
                        </tr>
                    </thead>
                </table>
                <div class="s_div" style="height:320px;overflow: hidden;">
                    <table class="table-info">
                        <colgroup>
                            <col width="25%" />
                            <col width="25%" />
                            <col width="25%" />
                            <col width="25%" />
                        </colgroup>
                        <tbody id="tbList">
                        </tbody>
                    </table>
                </div>
            </div>
        </body>
    </html>
    View Code

    scroll_table.js

    // JavaScript Document
    (function($) {
        $.fn.myScroll = function(options) {
            //默认配置
            var defaults = {
                speed: 40, //滚动速度,值越大速度越慢
                rowHeight: 24 //每行的高度
            };
    
            var opts = $.extend({}, defaults, options),
                intId = [];
    
            function marquee(obj, step) {
    
                obj.find("table").animate({
                    marginTop: '-=1'
                }, 0, function() {
                    var s = Math.abs(parseInt($(this).css("margin-top")));
                    if (s >= step) {
                        $(this).find("tr").slice(0, 1).appendTo($(this));
                        $(this).css("margin-top", 0);
                    }
                });
            }
    
            this.each(function(i) {
                var sh = opts["rowHeight"],
                    speed = opts["speed"],
                    _this = $(this);
                intId[i] = setInterval(function() {
                    if (_this.find("table").height() <= _this.height()) {
                        clearInterval(intId[i]);
                    } else {
                        marquee(_this, sh);
                    }
                }, speed);
    
                _this.hover(function() {
                    clearInterval(intId[i]);
                }, function() {
                    intId[i] = setInterval(function() {
                        if (_this.find("table").height() <= _this.height()) {
                            clearInterval(intId[i]);
                        } else {
                            marquee(_this, sh);
                        }
                    }, speed);
                });
    
            });
    
        }
    
    })(jQuery);
    View Code

    scroll_ul.html

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8">
            <title>列表滚动</title>
            <script src="jquery.min.1.8.3.js" type="text/javascript" charset="utf-8"></script>
            <script src="scroll_ul.js" type="text/javascript" charset="utf-8"></script>
            <script type="text/javascript">
                $(function() {
                    function getData() {
                        var html = '';
                        for (var i = 0; i < 100; i++) {
                            var value = i + 1;
                            html += '<li>' + value + '</li>';
                        }
                        $('#tbList').html(html);
                    }
    
                    getData();
                    setTimeout(function() {
                        $('.s_div').myScroll({
                            speed: 60,
                            rowHeight: 40
                        });
                    }, 500);
                });
            </script>
            <style type="text/css">
                .list {
                    width: 270px;
                    border: 1px solid #eee;
                    margin: 30px auto;
                }
    
                .s_div {
                    height: 400px;
                    overflow: hidden;
                }
                
                #tbList li{
                    height: 40px;    /*不给固定高度,会抽搐*/
                }
            </style>
        </head>
        <body>
            <div class="list">
                <h2>列表滚动</h2>
                <div class="s_div">
                    <ul id="tbList"></ul>
                </div>
            </div>
        </body>
    </html>
    View Code

    scroll_ul.js

    // JavaScript Document
    (function($) {
        $.fn.myScroll = function(options) {
            //默认配置
            var defaults = {
                speed: 40, //滚动速度,值越大速度越慢
                rowHeight: 24 //每行的高度
            };
    
            var opts = $.extend({}, defaults, options),
                intId = [];
    
            function marquee(obj, step) {
    
                obj.find("ul").animate({
                    marginTop: '-=1'
                }, 0, function() {
                    var s = Math.abs(parseInt($(this).css("margin-top")));
                    if (s >= step) {
                        $(this).find("li").slice(0, 1).appendTo($(this));
                        $(this).css("margin-top", 0);
                    }
                });
            }
    
            this.each(function(i) {
                var sh = opts["rowHeight"],
                    speed = opts["speed"],
                    _this = $(this);
                intId[i] = setInterval(function() {
                    if (_this.find("ul").height() <= _this.height()) {
                        clearInterval(intId[i]);
                    } else {
                        marquee(_this, sh);
                    }
                }, speed);
    
                _this.hover(function() {
                    clearInterval(intId[i]);
                }, function() {
                    intId[i] = setInterval(function() {
                        if (_this.find("ul").height() <= _this.height()) {
                            clearInterval(intId[i]);
                        } else {
                            marquee(_this, sh);
                        }
                    }, speed);
                });
    
            });
    
        }
    
    })(jQuery);
    View Code
  • 相关阅读:
    百度Tera数据库介绍——类似cassandra,levelDB
    Cassandra——类似levelDB的基于p2p架构的分布式NOSQL数据库
    Greenplum——升级的分布式PostgresSQL
    Neo4j图数据库简介和底层原理
    445. Add Two Numbers II ——while s1 or s2 or carry 题目再简单也要些测试用例
    22. Generate Parentheses——本质:树,DFS求解可能的path
    LevelDb简单介绍和原理——本质:类似nedb,插入数据文件不断增长(快照),再通过删除老数据做更新
    es根据磁盘使用情况来决定是否分配shard
    ES mlockall作用——preventing that memory from being paged to the swap area
    我相信我会反击!围绕艰苦的开局迫使程序员初尝体验
  • 原文地址:https://www.cnblogs.com/baocaige/p/13446750.html
Copyright © 2011-2022 走看看