zoukankan      html  css  js  c++  java
  • JQuery加载列表实现动画滚动(自上而下挤)

      这个例子是jquery动态加载列表,并通过定时刷新,实现其循环滚动效果的一个例子。

    1、HTML代码:

    <div class="fake-table">
        <li class="fake-table-hr">
            <span>姓名</span>
            <span>地点</span>
            <span>联系方式</span>
        </li>
        <div class="table-wrap">
            <ul id="J_Table">
            </ul>
        </div>
    </div>

    2、CSS代码:

    .fake-table {
        position: relative;
        height: 140px;
        font-size: 14px;
        list-style: none;
    }
    
    .table-wrap {
        height: 120px;
        overflow: hidden;
    }
    
    .table-wrap ul {
        position: rerlative;
    }
    
    .fake-table li {
         500px;
        height: 20px;
        margin: 0 auto;
        line-height: 20px;
        border: 1px solid #0B519D;
        background-color: rgba(24, 65, 157, 0.25);
        border-top: none;
    }
    
    .fake-table li.fake-table-hr {
        height: 20px;
        line-height: 20px;
        background: url(images/table-tr.png) no-repeat;
        border: none;
        font-weight: bold;
    }
    
    .fake-table li span {
        float: left;
        height: 20px;
        line-height: 20px;
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
        text-align: center;
    }

    3、JS代码:

    <script type="text/javascript">
    $(function(){
        // 定义要加载的数据
        var data = [{
                name: '张三',
                address: '滨江区信诚路',
                contact: '15727678507'
            },{
                name: '张三',
                address: '滨江区信诚路',
                contact: '15727678507'
            },{
                name: '张三',
                address: '滨江区信诚路',
                contact: '15727678507'
            },{
                name: '张三',
                address: '滨江区信诚路',
                contact: '15727678507'
            },{
                name: '张三',
                address: '滨江区信诚路',
                contact: '15727678507'
            },{
                name: '张三',
                address: '滨江区信诚路',
                contact: '15727678507'
            }
        ];
    
        
        /**
        * renderTableData(循环数组加载列表方法)
        * @param [Array] data(要加载的数组)
        */
        function renderTableData(data) {
            var len = data.lenght;
            var lineHeight = 20;    // 每行li的行高
            var infoWrap = $('#J_Table');
            var htmlArr = [];
            var item = '';
            for (var i = 0; i < len; i++) {
                item = '<li>'
                        + '<span>' + data[i]['name'] + '</span>'
                        + '<span>' + data[i]['address'] + '</span>'
                        + '<span>' + data[i]['contact'] + '</span>'
                        + '</li>';
                htmlArr.push(item);
            }
    
            infoWrap.prepend(htmlArr.join(''));    // 将htmlArr数组添加到页面元素中
            
            infoWrap.css({
                'top': - len * lineHeight + 'px';    // 设置(负每行行高*数组长度)的top值,将加载列表定位到显示区域上方(即隐藏)
            }).animate({
                'top': '0px'    // 设置top值为0,即加载列表整个展示出来
            }, 1000, 'swing', function() {    // 设置间隔为1000,动画效果为"swing"(有"swing"和"linear"两种)
                $('li:gt(' + (len - 1) + ')', infoWrap).remove();    // 将原先的元素内容移除
            });
        }
    
        /**
        *timlyRenderData (定时请求的方法)
        *
        */
        function timlyRenderData() {
            if(this.clearTimlyId) {    // 如果定时请求存在,则清除
                clearInterval(this.clearTimlyId);
            }
            this.clearTimlyId = setInterval(function() {    // 创建定时请求
                renderTableData(data);
            }, 5000);
        }
    
        renderTableData(data);    //调用该方法
        
        timlyRenderData();    // 调用定时请求方法
    });
  • 相关阅读:
    sudo: 在加载插件“sudoers_policy”时在 /etc/sudo.conf 第 0 行出错 sudo: /usr/lib/sudo/sudoers.so 必须只对其所有者可写 sudo:
    ubuntu多版本Python和pip切换
    Ubuntu16.04下安装python3.6.4详细步骤
    oenstack firewalld ufw
    linux相关安全设置
    TransPose: Towards Explainable Human Pose Estimation by Transformer
    TransTrack: Multiple-Object Tracking with Transformer
    Rethinking Semantic Segmentation from a Sequence-to-Sequence Perspective with Transformers
    Adversarial Sparse Transformer for Time Series Forecasting
    Learning to Detect Objects with a 1 Megapixel Event Camera
  • 原文地址:https://www.cnblogs.com/minozMin/p/8312524.html
Copyright © 2011-2022 走看看