Angular实现表格自滚动效果

目录
  • 表格自滚动效果图
  • 实现原理
  • 具体实现:

表格自滚动效果图

实现原理

原理:每一次的滚动都是在其setInterval()定时器的作用下,每次将DOM.scrollTop++

具体实现:

1、 .html 代码如下:(这里我使用div模拟成table)

<div style="padding: 100px;">
    <div class="tableTitleRow">
        <div class="tabletTitle">Name</div>
        <div class="tabletTitle">Age</div>
        <div class="tabletTitle">Address</div>
    </div>
    <div id="parent" class="parent">
        <div id="child1" class="child">
            <div *ngFor="let data of listOfData;index as i">
                <div class="tableBodyRow">
                    <div class="tabletBody">{{i}}</div>
                    <div class="tabletBody">{{i+10}}</div>
                    <div class="tabletBody">{{i+100}}</div>
                </div>
            </div>
        </div>
        <div id="child2" class="child"></div>
    </div>
</div>

2、 .css 代码如下:

.Qbody {
  padding: 100px;
  // 表头层
  .tableTitleRow {
    display: flex;

    .tabletTitle {
      color: #ffffff;
      background-color: #1e6fff;
      height: 64px;
      font-size: 16px;
      flex: 1;
      justify-content: flex-start;
      text-align: center;
      line-height: 64px;
      border: 1px solid #ccc;
    }
  }
  //内容层
  .parent {
    height: 380px; //控制多高处出现滚动条
    margin: 0 auto;
    background: #242424;
    overflow-y: scroll;
    .child {
      /*设置的子盒子高度大于父盒子,产生溢出效果*/
      height: auto;
      div {
        .tableBodyRow {
          display: flex;
          .tabletBody {
            background: #ffffff;
            font-size: 16px;
            flex: 1;
            justify-content: flex-start;
            text-align: center;
            line-height: 64px;
            border: 1px solid #ccc;
            div {
              line-height: 30px;
              border-top: 1px solid #ccc;
              border-bottom: 1px solid #ccc;
            }
          }
        }
      }
    }
  }
}

3、 .js 代码如下:

 ngOnInit(): void {
    var parent = document.getElementById('parent');//获取Dom
    var child1 = document.getElementById('child1');//获取Dom
    var child2 = document.getElementById('child2');//获取Dom
    child2.innerHTML = child1.innerHTML;
    this.mysetInterval=setInterval(function () {
       if((parent.scrollTop++) == (parent.scrollTop)&&(parent.scrollTop!=0)) {
           parent.scrollTop = 0;
       } else {
           parent.scrollTop++;
       }
    }, 50);
  }
  mysetInterval//定时器名字
  ngOnDestroy() {//每当 Angular 每次销毁指令/组件之前调用并清扫
    clearInterval(this.mysetInterval)//关闭循环
  }

到此这篇关于Angular实现表格自滚动效果的文章就介绍到这了,更多相关Angular表格自滚动内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • AngularJS中table表格基本操作示例

    本文实例讲述了AngularJS表格基本操作.分享给大家供大家参考,具体如下: css内容: table, td { border: 1px solid grey; border-collapse: collapse; padding: 5px; } HTML正文: <body ng-app=""> <div ng-init="persons=[{'name':'zhangsan','age':'20'}, {'name':'lisi','age':'19'

  • Angular8 实现table表格表头固定效果

    最近项目中有个需求,表头固定,内部实现滚动条.除了单个表头,还有多个表头的情况(下一篇中介绍). 效果图: html 结构 按区域划分可以分为三个大部分,一共是通过4个table 组合成一个整体的table. 然后通过 col 属性去设定列的宽度,注意:这里的宽度必须要设置为固定值. 表头过滤功能暂时未实现. 水平滚动效果与垂直滚动效果 监听主体table(浅绿色部分)滚动事件,同步上下滚动头部的table (深绿色部分)和 左右滚动左侧固定的table(红色部分中的紫色部分) 代码 1 $(t

  • angularJS实现表格部分列展开缩起示例代码

    AngularJS 简介 AngularJS 是一个 JavaScript 框架.它可通过 <script> 标签添加到 HTML 页面. AngularJS 通过 指令 扩展了 HTML,且通过 表达式 绑定数据到 HTML. AngularJS 是一个 JavaScript 框架 AngularJS 是一个 JavaScript 框架.它是一个以 JavaScript 编写的库. AngularJS 是以一个 JavaScript 文件形式发布的,可通过 script 标签添加到网页中:

  • angularjs实现table表格td单元格单击变输入框/可编辑状态示例

    本文实例讲述了angularjs实现table表格td单元格单击变输入框/可编辑状态.分享给大家供大家参考,具体如下: html部分: <table> <thead> <tr > <th width="40px;">序号</th> <th>班次</th> <th>分组</th> <th>操作</th> </tr> </thead>

  • 基于angular实现树形二级表格

    先看效果: 代码: 1.html <div class="userContent_content"> <div> <table> <tr> <td>节点名称</td> <td>节点管理IP</td> <td>节点登录名</td> <td>节点登录密码</td> </tr> //使用ng-container作为空标签用于辅助放置for

  • Angular实现表格自滚动效果

    目录 表格自滚动效果图 实现原理 具体实现: 表格自滚动效果图 实现原理 原理:每一次的滚动都是在其setInterval()定时器的作用下,每次将DOM.scrollTop++ 具体实现: 1. .html 代码如下:(这里我使用div模拟成table) <div style="padding: 100px;"> <div class="tableTitleRow"> <div class="tabletTitle"

  • vue 自定指令生成uuid滚动监听达到tab表格吸顶效果的代码

    utils/index,.js /** * 生成UUID * @param withSeparator 是否有分割符 * @returns {string} */ export function generateUUID(withSeparator = true) { let d = new Date().getTime() if (window.performance && typeof window.performance.now === 'function') { d += perf

  • jQuery实现表格行数据滚动效果

    本文实例为大家分享了jQuery实现表格行数据滚动效果的具体代码,供大家参考,具体内容如下 HTML代码: <div class="box"> <div class="box-header"> <div class="col">测试1</div> <div class="col">测试2</div> <div class="col"

  • jQuery控制div实现随滚动条滚动效果

    本文实例讲述了jQuery控制div实现随滚动条滚动效果的方法.分享给大家供大家参考,具体如下: <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>jquery div随滚动条滚动效果</title> <script src="../js/jquery-1.11.1.min.js" type="text/javascript"&

  • jQuery视差滚动效果网页实现方法经验总结

    本文总结分析了jQuery视差滚动效果网页实现方法.分享给大家供大家参考,具体如下: 首先说两个核心函数,当然是基于jQuery的: 1.$(document).scrollTop() ; 该函数主要是返回页面当前顶部距离页面顶部的像素值,是一个非负整数. 2.$(window).scroll(); 该事件是监控页面是否滚动,一旦滚动则触发其回调函数. 由此两个函数,我们得到下面的代码: $(window).scroll(function() { var top = $(document).sc

  • jquery实现的回旋滚动效果完整实例【附demo源码下载】

    本文实例讲述了jquery实现的回旋滚动效果.分享给大家供大家参考,具体如下: 这里分享一款回旋滚动效果,先上效果图: 具体代码如下: <!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8"> <title>jquery-roundabout</title> <style type="text/css&qu

  • jquery滚动组件(vticker.js)实现页面动态数据的滚动效果

    复制代码 代码如下: <script language="javascript" src="lirms/Test/jquery-1.4.2.js"></script> <script language="javascript" src="lirms/Test/vticker.js"></script> <script type="text/javascript&q

  • jQuery实现的多张图无缝滚动效果【测试可用】

    本文实例讲述了jQuery实现的多张图无缝滚动效果.分享给大家供大家参考,具体如下: <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>slider</title> <style> *{ padding: 0; margin: 0; } li{ list-style-type: none; }

  • jQuery模拟Marquee实现无缝滚动效果完整实例

    本文实例讲述了jQuery模拟Marquee实现无缝滚动效果.分享给大家供大家参考,具体如下: <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>模拟Marquee无缝滚动</title> <style type="text/css"> /* CSS Document reset */ html, body, di

  • JavaScript代码实现图片循环滚动效果

    1.概述 循环滚动图片,不仅可以增添Web页面的动态效果,而且可以节省页面空间,有效地保证在有限的页面中显示更多的图片. 2.技术要点 主要应用setTimeout()方法实现图片的循环滚动效果.setTimeout()方法的语法格式如下: setTimeout(function,milliseconds,[arguments]) 参数说明: a. function:要调用的JavaScript自定义函数名称. b. Milliseconds:设置超时时间(以毫秒为单位). 功能:经过超时时间后

随机推荐