ES6函数实现排它两种写法解析

 更新时间:2020年05月13日 14:30:03   作者:陈太浪  
这篇文章主要介绍了ES6函数实现排它两种写法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

排它思想:清除其它所有的没有选中元素的样式, 只设置当前选中元素的样式

html代码

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  
</head>
<body>
<ul>
  <li class="current">我是第1个li</li>
  <li>我是第2个li</li>
  <li>我是第3个li</li>
  <li>我是第4个li</li>
  <li>我是第5个li</li>
  <li>我是第6个li</li>
  <li>我是第7个li</li>
  <li>我是第8个li</li>
</ul>

</body>
</html>

css代码

<style>
    *{
      margin: 0;
      padding: 0;
    }
    ul{
      list-style: none;
      margin: 100px auto;
      width: 300px;
      height: 400px;
      border: 1px solid #000;
    }
    ul>li{
      font-size: 30px;
      font-weight: bold;
      margin-bottom: 10px;
      cursor: default;
    }

    .current{
      background-color: brown;
    }
  </style>

JavaScript代码

<script>
  /*
  // es6之后的写法
  let items = document.querySelectorAll("li");
  let previousIndex = 0;
  for (let i = 0; i < items.length; i++) {
    // let currentItem = items[i];
    items[i].onclick = function () {
      items[previousIndex].className = "";
      this.className = "current";
      previousIndex = i;
      // console.log(previousIndex);
    };
  }
  */

  // es6之前的写法
  var items = document.querySelectorAll("li");
  var previousIndex = 0;
  for (var i = 0; i < items.length; i++) {
    (function (index) {
      items[index].onclick = function () {
        items[previousIndex].className = "";
        this.className = "current";
        previousIndex = index;
      };
    })(i);
  }
</script>

运行效果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • javascript获取wx.config内部字段解决微信分享

    javascript获取wx.config内部字段解决微信分享

    这篇文章主要介绍了javascript获取wx.config内部字段解决微信分享,需要的朋友可以参考下
    2016-03-03
  • JavaScript函数执行、作用域链以及内存管理详解

    JavaScript函数执行、作用域链以及内存管理详解

    这篇文章主要介绍了JavaScript函数执行、作用域链以及内存管理的知识,文章内容非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • Layui实现主窗口和Iframe层参数传递

    Layui实现主窗口和Iframe层参数传递

    今天小编就为大家分享一篇Layui实现主窗口和Iframe层参数传递,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • webpack3.0升级4.0的方法步骤

    webpack3.0升级4.0的方法步骤

    这篇文章主要介绍了webpack3.0升级4.0的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • 合并多个ArrayBuffer场景及方法示例

    合并多个ArrayBuffer场景及方法示例

    这篇文章主要为大家介绍了合并多个ArrayBuffer方法示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • JavaScript 中如何拦截全局 Fetch API 的请求和响应问题

    JavaScript 中如何拦截全局 Fetch API 的请求和响应问题

    在本文中,我们介绍了什么是 JavaScript 拦截器,学习了如何通过给 Fetch API 使用猴子补丁和使用 fetch-intercept 库来创建拦截器,对js拦截全局Fetch API的请求和响应知识感兴趣的朋友跟随小编一起看看吧
    2023-01-01
  • JavaScript算法学习之冒泡排序和选择排序

    JavaScript算法学习之冒泡排序和选择排序

    这篇文章主要给大家介绍了关于JavaScript算法学习之冒泡排序和选择排序的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者使用JavaScript具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-11-11
  • JavaScript 学习小结(适合新手参考)

    JavaScript 学习小结(适合新手参考)

    JavaScript常量又称字面常量,是固化在程序代码中的信息。变量的主要作用是存取数据,提供一个存取信息的容器。
    2009-07-07
  • 前端传递参数时form-data和json的区别详解

    前端传递参数时form-data和json的区别详解

    前端可以通FormData对象实现表单形式提交数据,下面这篇文章主要给大家介绍了关于前端传递参数时form-data和json区别的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-11-11
  • JavaScript实现基于Cookie的存储类实例

    JavaScript实现基于Cookie的存储类实例

    这篇文章主要介绍了JavaScript实现基于Cookie的存储类,实例分析了javascript通过cookie实现数据存储的技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04

最新评论