什么是排他思想?

排他思想是为一组同类型元素中的某一个元素设置样式时,采用的一种特定顺序。首先将所有元素的样式设置为一般样式(包括特定的某个元素),再为特定元素设置特定样式。

排他思想的优势

排他思想适用于为多个同类型元素设置样式或效果的情况。避免为单个元素重复设置相同样式,可以有效显示出用户操作下某一元素的改变。

实现排他思想的步骤

  1. 为全部元素设置一般效果
  2. 为特定元素设置特定效果
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>鼠标经过对应方块变红</title><style>ul{margin: 0px;padding: 0px;list-style: none;width:1000px;height:800px;background-color: #ccc;}li{float: left;width:200px;height: 200px;text-align: center;line-height: 200px;}</style>
</head>
<body><ul><li>1</li><li>2</li><li>3</li><li>4</li><li>5</li><li>6</li><li>7</li><li>8</li><li>9</li><li>10</li><li>11</li><li>12</li><li>13</li><li>14</li><li>15</li><li>16</li><li>17</li><li>18</li><li>19</li><li>20</li></ul><script>var lis=document.getElementsByTagName("li");for(let i=0;i<lis.length;i++){lis[i].onmouseenter=function(){for(let j=0;j<lis.length;j++){lis[j].style.backgroundColor="#ccc";}lis[i].style.backgroundColor="red";}}</script></body>
</html>

实现同一效果的另一种方式(不使用排他思想)

我们的操作改变某一元素样式或效果时,我们可以为该元素做标记(以某种方式直接访问),当另一元素发生同样改变时,我们只需要针对上一个不同于一般样式的元素进行修改,再修改下一个进行了该操作的元素的样式或效果,就可以实现不依靠排他思想的同样效果

实现步骤

  • 操作某一元素时标记(以便后续直接访问),并修改样式
  • 再次操作时修改被标记的元素的样式到一般样式,为下一个特定元素标记并设置特殊样式

这里的两个步骤可以统合到一个函数里面。个人感觉比排他思想更加好用。

以下为修改后排他思想的代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>鼠标经过对应方块变红</title><style>ul{margin: 0px;padding: 0px;list-style: none;width:1000px;height:800px;background-color: #ccc;}li{float: left;width:200px;height: 200px;text-align: center;line-height: 200px;}</style>
</head>
<body><ul><li>1</li><li>2</li><li>3</li><li>4</li><li>5</li><li>6</li><li>7</li><li>8</li><li>9</li><li>10</li><li>11</li><li>12</li><li>13</li><li>14</li><li>15</li><li>16</li><li>17</li><li>18</li><li>19</li><li>20</li></ul><script>var lis=document.getElementsByTagName("li");var count=null;for(let i=0;i<lis.length;i++){(function(j){lis[j].onmouseenter=function(){if(count!=null){lis[count].style.backgroundColor="#ccc";}lis[j].style.backgroundColor="red";count=j;}}(i));}</script></body>
</html>

笔者认为第二种方式实现更加简单。

以上就是笔者的学习分享,如有不同观点或看法,欢迎评论区留言。

JavaScript排他思想相关推荐

  1. android 排他button,javascript排他思想

    排他思想: 干掉所有人,设置我自己,先将所有人全设置为"",然后再设置当前的值 1.含义: 关于排他思想,我的理解就是先排除掉其他的(包括自己) ,最后再给自己(this)加想要的 ...

  2. JavaScript 排他思想

    排他思想 排他思想 案例分析 排他思想 如果有同一组数元素 我们想要某一个元素实现某种样式 这时候 需要用到循环的排他思想算法 1 所有元素全部清楚样式 2 给当前的元素设置样式 3 注意顺序 先清楚 ...

  3. JavaScript之排他思想详述

    在前面的博客中,小熊更新了相关操作元素的方法,但是如果有同一组元素,我们想要某一个元素实现某种样式,这时需要怎么办呢? 这里就要用到循环的排他思想. 排他思想的算法就是: 排除掉其他的(包括自己),然 ...

  4. JavaScript【事件委托实现排他思想】

    事件委托实现排他思想: <style>ul {background-color: #ccc;}.active {color: red;}</style> </head&g ...

  5. jQuery 里面的排他思想

    jQuery 里面的排他思想 <!DOCTYPE html> <html lang="en"><head><meta charset=&q ...

  6. 什么是排他思想算法?(源码解析)

    排他思想算法 <!DOCTYPE html> <html lang="en"><head><meta charset="UTF- ...

  7. 编程思维---排他思想

    排他思想:就是排除掉其他的(包括自己),然后再给自己设置想要实现的效果.总而言之,排他思想的实现步骤就是所有元素全部清除再设置当前元素. 大白话---简单总结:干掉兄弟,复活自己 使用场景:1.Tab ...

  8. DOM系列之排他思想

    文章の目录 1.什么是排他思想 2.示例 写在最后 1.什么是排他思想 如果有同一组元素,我们想要某一个元素实现某种样式, 需要用到循环的排他思想算法 所有元素全部清除样式(干掉其他人) 给当前元素设 ...

  9. jQuery的排他思想

     因为jQuery具备隐式迭代,所以在写排他思想的时候不需要循环遍历,直接用下面这个就能实现. <html><button>变色</button><butto ...

最新文章

  1. 上一篇的js处理失真数据存在问题换了种方法
  2. #pragma pack(n) 的作用
  3. 如何设计秒杀服务器的限流策略
  4. Leetcode1703. 得到连续 K 个 1 的最少相邻交换次数[C++题解]:难(货仓选址加强版+滑动窗口+前缀和)
  5. linux我ll查不到usr,Linux学习-文件查寻
  6. 关于SpringBoot中的多数据源集成
  7. 程序员欢呼:微软Bing开始支持搜索源码、可直接运行
  8. 教你玩转CSS 导航栏
  9. Python网络请求库Requests,妈妈再也不会担心我的网络请求了(二)
  10. lucene简单实例
  11. #JAVA# 判断从键盘输入的字符串是否为回文
  12. plaintextedit指定一行一行的高亮显示_RDKit | 基于RDKit的指定原子或键高亮
  13. 前端调用websocket的3种不同写法
  14. 【图像处理】基于matlab直方图医学图像处理【含Matlab源码 458期】
  15. 搭建邮件系统,采用sendmail+dovecot+openwebmail架构
  16. educoder-Hadoop开发环境搭建各关卡通关答案
  17. 全国青少年软件编程等级考试标准(正式级)
  18. 为eclipse3.6安装subversive插件
  19. autolayout教程Android,AndroidAutoLayout的简单阅读
  20. 计算机网络ospf配置命令,华为OSPF协议基本配置 -电脑资料

热门文章

  1. 动画入门(登陆动画)
  2. 《UEFI内核导读》全集,2023年更新
  3. Sui改进提案(SIPs)及其审核流程
  4. 通信算法之六十:SC_FDE系统的物理层算法设计与工程实现
  5. ABAP ALV红绿黄灯5步
  6. 少儿机器人教育在国内的情况
  7. 什么是C语言,对C语言的基本认识,C语言开始。
  8. python3 分句
  9. 设计模式——设计原则
  10. 2018初中计算机考试知识点,2018计算机等级考试考点:考前学习的技巧