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


Posted in Javascript onMay 13, 2020

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

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>

运行效果

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

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

Javascript 相关文章推荐
jQuery 1.5.1 发布,全面支持IE9 修复大量bug
Feb 26 Javascript
javascript获取设置div的高度和宽度兼容任何浏览器
Sep 22 Javascript
js jquery ajax的几种用法总结(及优缺点介绍)
Jan 28 Javascript
深入浅析JavaScript中prototype和proto的关系
Nov 15 Javascript
浅谈js构造函数的方法与原型prototype
Jul 04 Javascript
简易的JS计算器实现代码
Oct 18 Javascript
js判断是否是手机页面
Mar 17 Javascript
基于JavaScript实现报警器提示音效果
Oct 27 Javascript
Angularjs实现页面模板清除的方法
Jul 20 Javascript
一步步教你利用Docker设置Node.js
Nov 20 Javascript
JS document文档的简单操作完整示例
Jan 13 Javascript
浅谈JavaScript中的“!!”作用
Aug 03 Javascript
详解vue-router的Import异步加载模块问题的解决方案
May 13 #Javascript
JavaScript 实现自己的安卓手机自动化工具脚本(推荐)
May 13 #Javascript
原生JS实现汇率转换功能代码实例
May 13 #Javascript
JavaScript Tab菜单实现过程解析
May 13 #Javascript
JQuery事件冒泡和默认行为代码实例
May 13 #jQuery
element中el-container容器与div布局区分详解
May 13 #Javascript
Node Mongoose用法详解【Mongoose使用、Schema、对象、model文档等】
May 13 #Javascript
You might like
php Xdebug 调试扩展的安装与使用.
2010/03/13 PHP
PHP定时执行任务实现方法详解(Timer)
2015/07/30 PHP
yii2框架中使用下拉菜单的自动搜索yii-widget-select2实例分析
2016/01/09 PHP
[原创]PHP获取数组表示的路径方法分析【数组转字符串】
2017/09/01 PHP
PHP使用Redis长连接的方法详解
2018/02/12 PHP
PHP生成图表pChart的示例解析
2020/07/31 PHP
JavaScript 事件冒泡简介及应用
2010/01/11 Javascript
Javascript Math ceil()、floor()、round()三个函数的区别
2010/03/09 Javascript
jquery操作select option 的代码小结
2011/06/21 Javascript
对setInterval在火狐和chrome切换标签产生奇怪的效果之探索,与解决方案!
2011/10/29 Javascript
jQuery仿Excel表格编辑功能的实现代码
2013/05/01 Javascript
JavaScript实现标题栏文字轮播效果代码
2015/10/24 Javascript
Bootstrap零基础学习第一课之模板
2016/07/18 Javascript
ECharts地图绘制和钻取简易接口详解
2019/07/12 Javascript
vue中 数字相加为字串转化为数值的例子
2019/11/07 Javascript
[01:00]选手抵达华西村 整装待发备战2016国际邀请赛中国区预选赛
2016/06/25 DOTA
[10:42]Team Liquid Vs Newbee
2018/06/07 DOTA
python使用PyGame模块播放声音的方法
2015/05/20 Python
Python爬虫PyQuery库基本用法入门教程
2018/08/04 Python
Python实现带下标索引的遍历操作示例
2019/05/30 Python
Pycharm同步远程服务器调试的方法步骤
2020/11/04 Python
conda安装tensorflow和conda常用命令小结
2021/02/20 Python
美国精油公司:Plant Therapy
2019/05/17 全球购物
普通大学毕业生自荐信
2013/11/04 职场文书
业务总经理岗位职责
2014/02/03 职场文书
美食节策划方案
2014/05/26 职场文书
科学发展观活动总结
2014/08/28 职场文书
优秀党员自我评价范文
2014/09/15 职场文书
财政专业大学生职业生涯规划书
2014/09/17 职场文书
上课迟到检讨书范文
2015/05/06 职场文书
通用员工手册范本
2015/05/14 职场文书
小学音乐课教学反思
2016/02/18 职场文书
创业开店,这样方式更合理
2019/08/26 职场文书
为什么不建议在go项目中使用init()
2021/04/12 Golang
redis实现共同好友的思路详解
2021/05/26 Redis
MySQL 主从复制数据不一致的解决方法
2022/03/18 MySQL