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>

运行效果

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

相关文章

  • TypeScript声明文件的语法与场景详解

    TypeScript声明文件的语法与场景详解

    使用ts进行开发的时候,不可避免的需要引用第三方的 JS 的库,但是默认情况下TS是不认识我们引入的这些JS库的,所以在使用这些JS库的时候,我们就要通过声明文件告诉TS它是什么,这篇文章主要给大家介绍了关于TypeScript声明文件的相关资料,需要的朋友可以参考下
    2022-05-05
  • 微信小游戏中three.js离屏画布的示例代码

    微信小游戏中three.js离屏画布的示例代码

    这篇文章主要介绍了微信小游戏中three.js离屏画布的示例代码,主要是用three.js结合cannon.js写个3D小游戏,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2020-10-10
  • 小程序实现自定义导航栏适配完美版

    小程序实现自定义导航栏适配完美版

    这篇文章主要介绍了小程序实现自定义导航栏适配完美版,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • 基于JS实现仿百度百家主页的轮播图效果

    基于JS实现仿百度百家主页的轮播图效果

    本文给大家分享基于html和js实现的仿百度百家主页的轮播图效果,代码简单易懂,非常不错,具有参考借鉴价值,需要的朋友参考下
    2017-03-03
  • JS event使用方法详解

    JS event使用方法详解

    event代表事件的状态,例如触发event对象的元素、鼠标的位置及状态、按下的键等等。 event对象只在事件发生的过程中才有效。
    2008-04-04
  • JavaScript实现twitter puddles算法实例

    JavaScript实现twitter puddles算法实例

    这篇文章主要介绍了JavaScript实现twitter puddles算法实例,本文源自twitter的一道面试题,本文使用js解开了这首题,需要的朋友可以参考下
    2014-12-12
  • JS实现给对象动态添加属性的方法

    JS实现给对象动态添加属性的方法

    这篇文章主要介绍了JS实现给对象动态添加属性的方法,涉及JS属性的遍历、动态赋值及eval方法的简单使用技巧,需要的朋友可以参考下
    2017-01-01
  • layer父页获取弹出层输入框里面的值方法

    layer父页获取弹出层输入框里面的值方法

    今天小编就为大家分享一篇layer父页获取弹出层输入框里面的值方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-09-09
  • js实现石头剪刀布游戏

    js实现石头剪刀布游戏

    这篇文章主要为大家详细介绍了js实现石头剪刀布游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-10-10
  • ajax如何实现页面局部跳转与结果返回

    ajax如何实现页面局部跳转与结果返回

    AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术,通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新,本篇文章给大家介绍ajax如何实现页面局部跳转与结果返回,感兴趣的朋友一起来学习
    2015-08-08

最新评论