html隔一行的代码,HTML n种方式实现隔行变色的示例代码
这篇文章主要介绍了HTML n种方式实现隔行变色的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
本文主要介绍了HTML n种方式实现隔行变色的示例代码,分享给大家,具体如下:
n种方式实现隔行变色
n种方式实现隔行变色
.box {
margin: 20px auto;
width: 300px;
}
.box li {
line-height: 35px;
border-bottom: 1px dashed #AAA;
padding: 0 5px;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
cursor: pointer;
}
/* 1.css3第一种方式 */
/* .box li:nth-of-type(3n+1){
background-color: green;
}
.box li:nth-of-type(3n+2){
background-color: red;
}
.box li:nth-of-type(3n){
background-color: blue;
} */
/* //=> bgColor与ulList组合2种方式实现 */
/* .bgColorYellow {
background-color: yellow;
}
.bgColorRed {
background-color: red;
}
.bgColorBlue {
background-color: blue;
} */
/* //=> bgColor与ulList组合1种方式实现 */
.bg0 {
background-color: lightcoral;
}
.bg1 {
background-color: lightgreen;
}
.bg2 {
background-color: lightskyblue;
}
#hover {
background-color: red;
}
/* 我们把hover放在bgn的后面,当元素的class=‘bgo’以bgo样式为主 */
.hover {
background-color: blueviolet;
}
- 上次大家成都你cdsvdvd vax v a 杀虫水
- 撒差多少VCD深V上次的深V但是是的深V的深V是DVD深V的深V的深V是大Vsad深V是的v
- 大SAV吃撒撒发顺丰
- 萨芬从深V撒VCDVD深V是大V撒大V大是发大V是大V是哒但是啥的
- 撒房产税才是
- 阿深V大SAV的在v
- 上次大家成都你cdsvdvd vax v a 杀虫水
//=>隔三行变色高亮选中::修改元素的class样式类
// 样式表: ID选择器
// 标签选择题
// 样式类选择器
// 行内样式
// 这些方式存在优先级的问题:行内,ID,样式类,标签...
// 方案:
// 1.依次遍历每一个li,通过索引除以3取余数,让当前的li有不同的背景色
// 2.第一种的技巧,告别一个个的判断,直接采用数组或者直接找到对应的样式的方式来完成
// 3.不是遍历每一个li,而是遍历每一组
var oBox = document.getElementById('box');
var ulList = oBox.getElementsByTagName('li');
//*高亮第3种方式:
for (var i=0; i
ulList[i].className = 'bg'+ (i%3);
//=>鼠标滑过:在原有样式类基础上累加一个hover样式类(由于hover在样式类中靠后,它的样式会覆盖原有的bg中的样式)
//=>鼠标离开:把新增的hover样式类移除掉即可
ulList[i].onmouseover = function (){
this.className += 'hover'
}
ulList[i].onmouseout = function (){
// this.className = 'bg0 hover'- 'hover';这不是字符串相减,这是数学运算结果是(NaN)
this.className = this.className.replace('hover','');
}
}
//=>2.js第一种方式
// for (var i = 0; i < ulList.length; i++) {
// //=> 分析:i=0 第一个li i%3=0
// //=> i=1 第一个li i%3=1
// //=> i=2 第一个li i%3=2
// //=> i=3 第一个li i%3=0
// var n=i%3; //当前循环找出来的那个li
// liColor=ulList[i];
// if(n===0){
// liColor.style.backgroundColor='red';
// }else if(n===1){
// liColor.style.backgroundColor='yellow';
// }else {
// liColor.style.backgroundColor='pink';
// }
// }
//=>3.js第二种方式
// for (var i=0; i
// switch ( i % 3) {
// case 0:
// ulList[i].className = "bgColorYellow";
// break;
// case 1:
// ulList[i].className = "bgColorRed";
// break;
// case 2:
// ulList[i].className = "bgColorBlue";
// break;
// }
// }
//=>4.js第三种方式 colorArray+bgColorYellow...
// var colorArray = ["bgColorYellow","bgColorRed", "bgColorBlue"];
// for (var i=0; i
//=> 分析: i%3=0 "bgColorYellow" colorArray[0]
//=> i%3=1 "bgColorBlue" colorArray[1]
//=> i%3=2 "bgColorRed" colorArray[2]
//=> i%3的余数是多少?就是我们当前需要到数组中通过此索引找到的样式类,而这个样式类则是当前li需要设置的class
// ulList[i].className = colorArray[i % 3];
// }
//=>5.js第四种方式
// for (var i=0; i
// ulList[i].className = 'bg'+ (i%3); //=>隔三行变色修改样式类
// //=>在改变之前把原有的样式类信息存储到自定义属性中
// ulList[i].myOldClass= ulList[i].className;
// ulList[i].onmouseover = function () {
// // 高亮选中:
// //this:当前操作的元素
// //=>第一种方法
// // this.style.background = 'yellow';
// //=>第二种方法
// // this.id = 'hover';
// //=>第三种方法
// //=>设置新样式之前把原有的样式保存起来,this:当前操作的元素也是一个元素对象,有很多内置属性,我们设置一个自定义属性,把原有的样式类信息存储进来
// console.dir(this);
// //=>滑过,简单粗暴的让class等于hover
// this.className = 'hover';
// }
// ulList[i].onmouseout = function() {
// // this.style.background = '';
// // this.id = '';
// //=>离开:让其还原为原有的样式(原有的样式可能是bg0,bg1,bg2)
// this.className=this.myOldClass;
// }
// }
//=>6.js第五种方式三元运算符三种写法
//=>第一种写法
// function changeColor() {
// for (var i = 0 ; i< ulList.length; i++){
// ulList[i].style.backgroundColor = i % 3 == 0 ? 'lightblue': ((i%3 ==1)?'lightgreen':'lightpink');
// }
// }
// changeColor();
//=>第二种写法
// for (var i = 0; i < ulList.length; i++) {
// var n = i % 3;
// liColor = ulList[i];
// //=>以下两种都可以
// // n === 0 ? liColor.style.backgroundColor = 'red' : (n === 1 ? liColor.style.backgroundColor = 'yellow' :
// // liColor.style.backgroundColor = 'pink')
//=>第三种写法
// n === 0 ? liColor.style.backgroundColor='red': n === 1 ?liColor.style.backgroundColor='yellow' : liColor.style.backgroundColor='blue';
// }
//=>7.js第六种方式
//=>我们每一组循环一次,在循环体中,我们把当前这一组样式都设置好即可(可能出现当前这一组不够3个,就报错了)
// var max = ulList.length - 1;
// for (var i=0;i
// ulList[i].style.background='bg0';
// i + 1 <= max ? ulList[i+1].style.background='bg1':null;
// i + 2 <= max ? ulList[i+2].style.background='bg2':null;
// }
运行效果如下:
到此这篇关于HTML n种方式实现隔行变色的示例代码的文章就介绍到这了,更多相关HTML隔行变色内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!
来源:脚本之家
链接:https://www.jb51.net/web/731071.html
申请创业报道,分享创业好点子。点击此处,共同探讨创业新机遇!
html隔一行的代码,HTML n种方式实现隔行变色的示例代码相关推荐
- Pycharm中运行Python代码的几种方式
Pycharm中运行Python代码的几种方式 在pycharm中的Python代码运行会出现各种奇葩的问题,比如,密码输入时不显示或没有提示,给我们带来一些麻烦,下面介绍几种代码运行的几种方式: 一 ...
- VSCode调试代码的三种方式
VSCode调试代码的三种方式 一.配置auto-attach(影响全局的终端) 在vscode的终端里运行node时,根据不同的选项,自动判断是否启动debug模式. ctrl + shift + ...
- 在HTML 中嵌入 JS 代码的三种方式
一,在HTML中嵌入JS代码的第一种方式:行间事件 行间事件是指将JavaScript函数写到HTML元素中的执行事件. 1.JavaScript 是一种事件驱动型的编程语言,通常都是在发生某个事件的 ...
- 在 C# 中生成代码的四种方式——包括.NET 5中的Source Generators
Microsoft在最新的C#版本中引入了Source Generator.这是一项新功能,可以让我们在代码编译时生成源代码.在本文中,我将介绍四种C#中的代码生成方式,以简化我们的日常工作.然后,您 ...
- java web 启动时执行_java Web 启动时自动执行代码的几种方式
Web容器启动后执行代码的几种方式,其执行顺序为:4===>5===>1===>2===>3,即指定init-method的Bean开始执行,接着实现spring的Bean后置 ...
- 写一个静态HTML页面,直接写HTML代码和用JS动态生成代码,哪种方式要好
如果写一个静态HTML页面,直接写HTML代码和用JS动态生成代码,哪种方式要好点?为什么? 不考虑人力因素(手写HTML太费时间排除),请从读取和解析或者其他的角度分析.谢谢 添加评论 分享 按投票 ...
- 网页刷新代码(html)两种方式
网页刷新代码(html)两种方式: window.location.href = window.location.href; window.location.reload();
- JavaScript系列-02 HTML嵌入js代码的第二种方式
javaScript系列 HTML中嵌入js代码的第二种方式 脚本块的方式 文章目录 javaScript系列 前言 一.了解脚本块的方式 1.1运行规则 二.执行原理 1.编写代码 2.效果 总结 ...
- JS-01-在HTML中嵌入JavaScript代码的三种方式
JS-01-在HTML中嵌入JavaScript代码的三种方式 1.JavaScript概述 Web的组成有HTML.CSS还有即将要学习的JavaScript(简称JS). CSS和JS主要是服务于 ...
- Pycharm——2种方式快速回滚指定版本代码
Pycharm--2种方式快速回滚指定版本代码 工作中,因为各种原因,难免会遇到代码回滚.本文记录2种快速回滚代码的方式,以python项目为例 [Pycharm集成环境]: Pycharm中进行代码 ...
最新文章
- dubbo学习笔记 第三章简介dubbo的工作原理
- 【Java Web前端开发】深入浅出xml
- 【Python 小知识】[:-1] 和 [::-1]
- linux 进程间读写锁,Linux系统编程—进程间同步
- C#入门详解(12)
- Java神鬼莫测之Mybatis--增删改查CRUD以及批量操作(二)
- 电大计算机本科离散数学考试题,最新电大《离散数学》形考作业任务01-07网考试题及答案...
- JAVA上传文件 DiskFileUpload组件
- python qt教程视频 下载_Qt基础课程视频教程 教学视频 百度网盘下载
- 微信公众号 Hash模式授权
- HCL配置不同VLAN之间进行通讯实验
- 杨建:网站加速--实例分析篇
- Python初级项目之随机漫步的Matplotlib实现
- java 汉字拼音排序_[转]Java汉字按照拼音排序
- 《可穿戴创意设计:技术与时尚的融合》一一3.4 服装中的电子装置
- MATLAB代码:基于非对称纳什谈判的多微网电能共享运行优化策略
- mysql执行存储过程报错1366_花花蘑菇
- [linux学习]centos下mysql的简单使用教程
- Catch That Cow(广搜)
- drawable-(hdpi,mdpi,ldpi)和WVGA,HVGA,QVGA的区别以及联系