DOM操作,隔行换色
隔行换色分两种
第一种通过行内样式更改背景色,鼠标点击时,更换背景色(排他思想)
<ul>
<li class="item">1</li>
<li class="item">2</li>
<li class="item">3</li>
<li class="item">4</li>
<li class="item">5</li>
<li class="item">6</li>
</ul>
<script>
var liEls = document.querySelectorAll(".item");
//for循环遍历,给每个li添加背景色
// 奇数行背景色是红色,偶数行是绿色
for (var i = 0; i < liEls.length; i++) {
liEls[i].style.backgroundColor = i % 2 == 0 ? '#f00' : '#0f0';
// 给每个li添加点击事件
liEls[i].onclick = function () {
//排他思想,把所有背景色删一遍,重新设置样式
//这种方法简单粗暴,但是性能差
for (var j = 0; j < liEls.length; j++) {
liEls[j].style.backgroundColor = '';
liEls[j].style.backgroundColor = j % 2 == 0 ? '#f00' : '#0f0';
}
this.style.backgroundColor = '#00f';
}
}
</script>
第二种 通过保存下标,来找到点击之前的元素,进行修改(把点击上一个元素的背景色恢复成默认的;然后再给点击的元素设置背景色)
<ul>
<li class="item">1</li>
<li class="item">2</li>
<li class="item">3</li>
<li class="item">4</li>
<li class="item">5</li>
<li class="item">6</li>
</ul>
<script>
var liEls = document.querySelectorAll(".item");
//这种方法通过保存下标,来找到点击之前的元素,进行修改(把点击上一个元素的背景色恢复成默认的;然后再给点击的元素设置背景色)
// 某一次点击的下标(初始值没有)
var tempIndex = -1;
//循环遍历,给每个li添加背景色
for (var i = 0; i < liEls.length; i++) {
// 三元表达式
liEls[i].style.backgroundColor = i % 2 == 0 ? '#f00' : '#0f0';
//获取下标
liEls[i].index = i;
// 添加点击事件
liEls[i].onclick = function () {
// 这里判断tempIndex 不等于-1 ,说明上一次点击更改了背景色,要把更改的背景色恢复成默认的背景色
if (tempIndex != -1) {
liEls[tempIndex].style.backgroundColor = tempIndex % 2 == 0 ? '#f00' : '#0f0';
}
// 把点击某个元素的下标传给tempIndex来保存
tempIndex = this.index;
this.style.backgroundColor = '#00f';
}
}
</script>
DOM操作,隔行换色相关推荐
- Javascript知识【案例:表格隔行换色】
目录 1,案例1:表格隔行换色 2,案例2:鼠标移入粉色,移出原色[基础+] 2.1:需求说明 2.2:前置知识:鼠标移入移出事件 2.3:前置拓展知识:this关键字 2.4:分析&实现 1 ...
- 【前端3】jquary:页面加载,选择器,隔行换色,Dom,全选,动画,遍历,广告/抽奖,表单校验插件
文章目录 1.jquery框架引入:$("mydiv") 当成id选择器 2.jquery版本/对象:$(js对象) -> jquery对象 3.jquery的页面加载事件: ...
- 使用jquery实现隔行换色($(tbody tr:odd)获取奇数行和$(tbody tr:even)获取偶数行)以及CSS类操作addClass()的使用
使用jquery实现隔行换色 技术分析 最主要的就是jquery的选择器 获取tbody的奇数行("tbodytr:odd")设置背景颜色在获取tbody的偶数行("tb ...
- JQuery基础-》带有案例-隔行换色-全选-QQ表情-下拉框左右移动
JQuery基础 下面案例用到的资源包:https://download.csdn.net/download/weixin_44537122/11879014 1.内容 1. JQuery 基础:1. ...
- 在PHP当中制作隔行换色的效果以及制作上下翻页的效果!
首先说明隔行换色的效果,需要用到tr:nth_child(odd);或者括号里的值是even,odd是从第一行开始隔一行,even是从第二行开始: 具体代码如下图案所示: 1 <style> ...
- ListView数据项隔行换色控制实现详解
看到有朋友在群里问过ListView项达到一定数量时加不同色选项的功能,有时间就学习了下ListView隔行换色的效果,大体效果实现出来了,吼吼,写博客里面,跟大家学习交流,一样的,先贴效果,再上代码 ...
- 隔行换色案例||全选和全不选||QQ表情选择||多选下拉列表左右移动
01.隔行换色.html <!DOCTYPE html> <html><head><meta charset="UTF-8">< ...
- 前端简单入门第十八讲 使用jQuery实现表格的隔行换色
还记得之前我使用JavaScript来实现表格的隔行换色效果吗?如果读者初次翻阅本文,可记得看看前端简单入门第十二讲 使用JavaScript完成后台数据展示表格的隔行换色!现在我就来使用jQuery ...
- Web前端第四季(jQuery):四:301-jQuery基本过滤器(奇数和偶数)+302-实现隔行换色+401-祖先选择器和子代选择器
目录 一.目的 1.想:学习前端知识 2.想:记录笔记,下次不用看视频,直接看笔记就可以快速回忆. 二.参考 1.我自己代码的GitHub网址 2.SIKI学院:我参考此视频实操 3.w3school ...
最新文章
- 独家 | 人工智能和大数据是如何联系在一起的?
- Java黑皮书课后题第4章:4.20(字符串处理)编写一个程序,提示用户输入一个字符串,显示它的长度和第一个字符
- CoNEXT 2018:在Facebook上部署IETF QUIC
- 工作76::一直报400
- 工作后,成长速度是如何产生差异的?
- caffe 训练solver配置
- 计算机教室网络同传及保护,用好联想网络同传系统解放信息技术教师
- Netty系列三、Netty实战篇
- 新机常用软件及环境配置清单
- 网络抓取ts文件转mp4_TS格式的视频文件怎么转换成mp4文件。
- 我用FreeMind
- 第一天 渗透的基本概念
- pdf和word等文档添加水印
- 背包九讲之二:完全背包问题
- 计算机直接切换到桌面,屏幕如何快速切换桌面
- Win7 的70个使用技巧
- 数字电路反相器符号_数字电路知识总结
- ROS2 发展历程和开发环境安装
- ThinkPad各型号Win7系统恢复光盘镜像下载【官方下载】绝对原版
- 基于python+selenium+Chrome自动化爬取巨潮资讯网A股财务报表
热门文章
- 【车载开发系列】嵌入式车载开发专业词汇
- 探索式测试--第六章(实践中的探索式测试)--读书笔记
- 2021-2022-2 ACM集训队每周程序设计竞赛(10) - 问题 A: 还原撕碎的字条,哄笑生气的毛毛 - 题解
- input标签里面type常用属性(注册登录表单常用元素)
- Nginx配置——动静分离
- vue和php怎么配置,解决Thinkphp与vue联合开发中Thinkphp的配置问题
- [C大程] 研讨题 CAD
- 爬取通达信官网上假日休市数据
- 世界的规则――给小牛同学的汇编语言推荐书
- 图片中的文字如何转换成Word文字