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 相关文章推荐
js中查找最近的共有祖先元素的实现代码
Dec 30 Javascript
jquery中ajax学习笔记4
Oct 16 Javascript
公共js在页面底部加载的注意事项介绍
Jul 18 Javascript
JavaScript中实现最高效的数组乱序方法
Oct 11 Javascript
JavaScript 程序错误Cannot use 'in' operator to search的解决方法
Jul 10 Javascript
Angular.js中window.onload(),$(document).ready()的写法浅析
Sep 28 Javascript
基于vue如何发布一个npm包的方法步骤
May 15 Javascript
jQuery属性选择器用法实例分析
Jun 28 jQuery
Vue.js 中的实用工具方法【推荐】
Jul 04 Javascript
javascript写一个ajax自动拦截并下载数据代码实例
Sep 07 Javascript
vue实现简易图片左右旋转,上一张,下一张组件案例
Jul 31 Javascript
关于JavaScript回调函数的深入理解
Jun 27 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中创建并处理图象
2006/10/09 PHP
php debug 安装技巧
2011/04/30 PHP
php通过session防url攻击方法
2014/12/10 PHP
PHP函数extension_loaded()用法实例
2015/01/19 PHP
php微信公众平台开发之微信群发信息
2016/09/13 PHP
详解关于php的xdebug配置(编辑器vscode)
2019/01/29 PHP
PHP的图像处理实例小结【文字水印、图片水印、压缩图像等】
2019/12/20 PHP
javascript编程起步(第四课)
2007/02/27 Javascript
jquery与google map api结合使用 控件,监听器
2010/03/04 Javascript
JS合并数组的几种方法及优劣比较
2014/09/19 Javascript
js点击选择文本的方法
2015/02/09 Javascript
JS代码防止SQL注入的方法(超简单)
2016/04/12 Javascript
Vue.js每天必学之过渡与动画
2016/09/06 Javascript
TypeScript入门-基本数据类型
2017/03/28 Javascript
vue router2.0二级路由的简单使用
2017/07/05 Javascript
webpack vue 项目打包生成的文件,资源文件报404问题的修复方法(总结篇)
2018/01/09 Javascript
JS监听滚动和id自动定位滚动
2018/12/18 Javascript
微信小程序 弹窗输入组件的实现解析
2019/08/12 Javascript
vue实现图片懒加载的方法分析
2020/02/05 Javascript
基于javascript处理二进制图片流过程详解
2020/06/08 Javascript
Openlayers测量距离与面积的实现方法
2020/09/25 Javascript
jQuery实现查看图片功能
2020/12/01 jQuery
基于循环神经网络(RNN)实现影评情感分类
2018/03/26 Python
python 爬虫一键爬取 淘宝天猫宝贝页面主图颜色图和详情图的教程
2018/05/22 Python
详解如何将python3.6软件的py文件打包成exe程序
2018/10/09 Python
使用Tensorflow将自己的数据分割成batch训练实例
2020/01/20 Python
Python内置函数locals和globals对比
2020/04/28 Python
html5实现输入框fixed定位在屏幕最底部兼容性
2020/07/03 HTML / CSS
Eastbay官网:美国最大的运动鞋网络零售商
2016/07/27 全球购物
购买瑞典当代设计的腕表和太阳眼镜:TRIWA
2016/10/30 全球购物
将一个文本文件的内容按倒序打印出来
2015/01/05 面试题
一套.net面试题及答案
2016/11/02 面试题
2013年军训通讯稿
2014/02/05 职场文书
请假条格式范文
2014/04/10 职场文书
2015毕业生实习期工作总结
2015/04/09 职场文书
52条SQL语句教你性能优化
2021/05/25 MySQL