用JS实现团队功能

简介: 用JS实现团队功能

Hello 大家好  今天给大家分享一下如何用JS实现团队功能的效果

如图:

点击交易额还是会有一个自动排序的效果 我设置的是从上往下为数字由大到小排序 所以会显示交易量由600-110的效果:

首先显示html页面:

<div class="title">
      <h1 onclick="renders()">一级</h1>
      <h1 onclick="newpages()">二级</h1>
    </div>
    <div class="title_two">
      <span onclick="transaction()">交易额</span>
      <span onclick="people()">开团</span>
      <span onclick="title_two_level()" id="level_click">等级</span>
    </div>
    <div class="select" id="select_block">
      <div onclick="golden_card()">金卡</div>
      <div onclick="silver_card()">银卡</div>
      <div onclick="copper_card()">铜卡</div>
    </div>
    <div id="level_one"></div>

接下来是css样式:

* {
        margin: 0;
        padding: 0;
      }
      .title {
        width: 80%;
        margin: 10%;
        display: flex;
        justify-content: space-around;
      }
      .title_two {
        width: 80%;
        margin: 0 10%;
        font-size: 20px;
        display: flex;
        justify-content: space-around;
      }
      .content {
        width: 80%;
        margin: 10%;
        display: flex;
        justify-content: space-between;
        text-align: center;
      }
      #level_one {
        width: 100%;
      }
      .select {
        width: 15%;
        background-color: aliceblue;
        text-align: center;
        position: absolute;
        left: 70%;
        display: none;
      }
      .select div {
        line-height: 50px;
      }

接下来就是最重要的js 内容了

首先我们要知道的是县区实现哪些功能  有一个点击'交易额‘ 对应的交易数量就会自动排序  同理 点击开团人数的话对应的开团人数也是会排序

选创建初始数据

let data = [{
        name: '如花的亲亲',
        levle: '银卡',
        num: 395,
        people_num: 600
      }, {
        name: '如花的鼻噶',
        levle: '铜卡',
        num: 310,
        people_num: 1000
      }, {
        name: '如花的爱抚',
        levle: '铜卡',
        num: 600,
        people_num: 960
      }, {
        name: '如花的舌吻',
        levle: '金卡',
        num: 110,
        people_num: 640
      }, {
        name: '如花的拍打',
        levle: '银卡',
        num: 250,
        people_num: 500
      }, ]
      let data_two = [{
        name: '康子的亲亲',
        levle: '银卡',
        num: 395,
        people_num: 600
      }, {
        name: '翔子的鼻噶',
        levle: '铜卡',
        num: 310,
        people_num: 1000
      }, {
        name: '乐子的爱抚',
        levle: '铜卡',
        num: 600,
        people_num: 960
      }, {
        name: '厚厚的舌吻',
        levle: '金卡',
        num: 110,
        people_num: 640
      }, {
        name: '铭铭的拍打',
        levle: '银卡',
        num: 250,
        people_num: 500
      }, ]

渲染页面:

let status = 0;
      renders()
      function renders() {
        select_block.style.display = 'none';
        status = 0;
        let str = '';
        for (let i = 0; i < data.length; i++) {
          str += `<div class="content">
      <div>
        <div>${data[i].name}</div>
        <div>交易量:${data[i].num}</div>
      </div>
      <div>
        <div>${data[i].levle}</div>
        <div>开团人数:${data[i].people_num}</div>
      </div>
        </div>`
        }
        document.getElementById('level_one').innerHTML = str;
      }

交易额点击事件 点击开始排序:

function transaction() {
        if (status == 0) {
          data.sort(function(a, b) {
            return b.num - a.num;
          })
          renders()
        } else {
          data_two.sort(function(a, b) {
            return b.num - a.num;
          })
          newpages()
        }
      }

开团点击事件 点击开始排序:

function people() {
        if (status == 0) {
          data.sort(function(a, b) {
            return b.people_num - a.people_num;
          })
          renders()
        } else {
          data_two.sort(function(a, b) {
            return b.people_num - a.people_num;
          })
          newpages()
        }
      }

金 银 铜卡的渲染事件

function title_two_level() {
        let select_block = document.getElementById('select_block');
        if (select_block.style.display == 'block') {
          select_block.style.display = 'none';
        } else {
          select_block.style.display = 'block';
        }
      }
      function golden_card() {
        let str = '';
        if (status == 0) {
          for (let i = 0; i < data.length; i++) {
            if (data[i].levle == '金卡') {
              str += `<div class="content">
              <div>
                <div>${data[i].name}</div>
                <div>交易量:${data[i].num}</div>
              </div>
              <div>
                <div>${data[i].levle}</div>
                <div>开团人数:${data[i].people_num}</div>
              </div>
              </div>`
            }
          }
          document.getElementById('level_one').innerHTML = str;
        } else {
          for (let i = 0; i < data_two.length; i++) {
            if (data_two[i].levle == '金卡') {
              str += `<div class="content">
                  <div>
                    <div>${data_two[i].name}</div>
                    <div>交易量:${data_two[i].num}</div>
                  </div>
                  <div>
                    <div>${data_two[i].levle}</div>
                    <div>开团人数:${data_two[i].people_num}</div>
                  </div>
                  </div>`
            }
          }
          document.getElementById('level_one').innerHTML = str;
        }
      }
      function silver_card() {
        let str = '';
        if (status == 0) {
          for (let i = 0; i < data.length; i++) {
            if (data[i].levle == '银卡') {
              str += `<div class="content">
              <div>
                <div>${data[i].name}</div>
                <div>交易量:${data[i].num}</div>
              </div>
              <div>
                <div>${data[i].levle}</div>
                <div>开团人数:${data[i].people_num}</div>
              </div>
              </div>`
            }
          }
          document.getElementById('level_one').innerHTML = str;
        } else {
          for (let i = 0; i < data_two.length; i++) {
            if (data_two[i].levle == '银卡') {
              str += `<div class="content">
                  <div>
                    <div>${data_two[i].name}</div>
                    <div>交易量:${data_two[i].num}</div>
                  </div>
                  <div>
                    <div>${data_two[i].levle}</div>
                    <div>开团人数:${data_two[i].people_num}</div>
                  </div>
                  </div>`
            }
          }
          document.getElementById('level_one').innerHTML = str;
        }
      }
      function copper_card() {
        let str = '';
        if (status == 0) {
          for (let i = 0; i < data.length; i++) {
            if (data[i].levle == '铜卡') {
              str += `<div class="content">
            <div>
              <div>${data[i].name}</div>
              <div>交易量:${data[i].num}</div>
            </div>
            <div>
              <div>${data[i].levle}</div>
              <div>开团人数:${data[i].people_num}</div>
            </div>
            </div>`
            }
          }
          document.getElementById('level_one').innerHTML = str;
        } else {
          for (let i = 0; i < data_two.length; i++) {
            if (data_two[i].levle == '铜卡') {
              str += `<div class="content">
                <div>
                  <div>${data_two[i].name}</div>
                  <div>交易量:${data_two[i].num}</div>
                </div>
                <div>
                  <div>${data_two[i].levle}</div>
                  <div>开团人数:${data_two[i].people_num}</div>
                </div>
                </div>`
            }
          }
          document.getElementById('level_one').innerHTML = str;
        }
      }

因为有一级和二级存在 虽有要设置好判断 如果status==1的时候 使用新函数渲染

function newpages() {
        status = 1;
        let str = '';
        select_block.style.display = 'none';
        for (let i = 0; i < data_two.length; i++) {
          str += `<div class="content">
        <div>
          <div>${data_two[i].name}</div>
          <div>交易量:${data_two[i].num}</div>
        </div>
        <div>
          <div>${data_two[i].levle}</div>
          <div>开团人数:${data_two[i].people_num}</div>
        </div>
        </div>`
        }
        document.getElementById('level_one').innerHTML = str;
      }
相关文章
|
6月前
|
JSON 自然语言处理 前端开发
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
281 72
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
|
6月前
|
前端开发 JavaScript
【Javascript系列】Terser除了压缩代码之外,还有优化代码的功能
Terser 是一款广泛应用于前端开发的 JavaScript 解析器和压缩工具,常被视为 Uglify-es 的替代品。它不仅能高效压缩代码体积,还能优化代码逻辑,提升可靠性。例如,在调试中发现,Terser 压缩后的代码对删除功能确认框逻辑进行了优化。常用参数包括 `compress`(启用压缩)、`mangle`(变量名混淆)和 `output`(输出配置)。更多高级用法可参考官方文档。
426 11
|
11月前
|
JavaScript 前端开发 API
|
8月前
|
JavaScript 前端开发 安全
盘点原生JS中目前最没用的几个功能API
在JavaScript的发展历程中,许多功能与API曾风光无限,但随着技术进步和语言演化,部分功能逐渐被淘汰或被更高效的替代方案取代。例如,`with`语句使代码作用域复杂、可读性差;`void`操作符功能冗余且影响可读性;`eval`函数存在严重安全风险和性能问题;`unescape`和`escape`函数已被`decodeURIComponent`和`encodeURIComponent`取代;`arguments`对象则被ES6的剩余参数语法替代。这些变化体现了JavaScript不断优化的趋势,开发者应紧跟技术步伐,学习新技能,适应新技术环境。
118 10
|
8月前
|
JavaScript 前端开发
【Vue.js】监听器功能(EventListener)的实际应用【合集】
而此次问题的核心就在于,Vue实例化的时机过早,在其所依赖的DOM结构尚未完整构建完成时就已启动挂载流程,从而导致无法找到对应的DOM元素,最终致使计算器功能出现异常,输出框错误地显示“{{current}}”,并且按钮的交互功能也完全丧失响应。为了让代码结构更为清晰,便于后续的维护与管理工作,我打算把HTML文件中标签内的JavaScript代码迁移到外部的JS文件里,随后在HTML文件中对其进行引用。
125 8
|
9月前
|
JavaScript 容器
带方向感知功能的js图片遮罩层插件
带方向感知功能的js图片遮罩层插件
|
10月前
|
JavaScript 前端开发 容器
jQuery多功能滑块插件r-slider.js
r-slider.js是一款jQuery多功能滑块插件。使用该插件,可以制作出滑块、开关按钮、进度条、向导步骤等多种效果。
147 5
|
10月前
|
JavaScript
js实现简洁实用的网页计算器功能源码
这是一款使用js实现简洁实用的网页计算器功能源码。可实现比较基本的加减乘除四则运算功能,界面简洁实用,是一款比较基本的js运算功能源码。该源码可兼容目前最新的各类主流浏览器。
163 2
|
11月前
|
人工智能 JavaScript 网络安全
ToB项目身份认证AD集成(三完):利用ldap.js实现与windows AD对接实现用户搜索、认证、密码修改等功能 - 以及针对中文转义问题的补丁方法
本文详细介绍了如何使用 `ldapjs` 库在 Node.js 中实现与 Windows AD 的交互,包括用户搜索、身份验证、密码修改和重置等功能。通过创建 `LdapService` 类,提供了与 AD 服务器通信的完整解决方案,同时解决了中文字段在 LDAP 操作中被转义的问题。
291 1
|
11月前
|
前端开发 JavaScript
使用 JavaScript 实现图片预览功能
使用 JavaScript 实现图片预览功能
285 0