取模(隔行变色、鼠标离开还原每行的颜色)

本文介绍了取模运算的基本概念及其在网页设计中的应用,通过两个具体的示例展示了如何使用JavaScript实现隔行变色效果及鼠标移出后恢复原有颜色的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

取模:就是取余数

5%2=1
6%2=0
0%3=0
1%3=1
2%3=2

取模一般应用于:隔行变色

例1.隔行变色

这里写图片描述

html:

<ul>
    <li></li>
    <li></li>
    ...
</ul>

js:

var lis = document.getElementsByTagName('li');
var arr = ['red','yellow','blue'];
for(var i=0;i<lis.length;i++){
    lis[i].style.backgroundColor = arr[i%arr.length];//arr.length即自动获取数组长度,i%3就是012的循环
}

例2. 鼠标离开还原每行的颜色

这里写图片描述

html和上面一样不变;
css:

li {
    height: 24px;
    margin-bottom: 3px;
    list-style: none;
}

方法一:
js:

var lis = document.getElementsByTagName('li');
var arr = ['red','yellow','blue'];
for(var i=0;i<lis.length;i++){
    // 给所有的li建一个索引值,那么每个li就有一个数字了
    lis[i].index = i;
    lis[i].style.backgroundColor = arr[i%arr.length];//i%3就是0、1、2的循环
    // 鼠标移入变个颜色
    lis[i].onmouseover = function(){
        this.style.backgroundColor = 'gray';
    }
    // 鼠标移开变回原来的颜色
    lis[i].onmouseout = function(){
        this.style.backgroundColor = arr[this.index%arr.length];//this.index就是数字1、2、3、4、5、6、7、8....this.index%arr.length是数字就把他放在对应的数组中去
    }
}

方法二:
js:

var lis = document.getElementsByTagName('li');
var arr = ['red','yellow','blue'];
var str = '';//放一个空字符串用来存储颜色
for(var i=0;i<lis.length;i++){
    // 给所有的li建一个索引值,那么每个li就有一个数字了
    lis[i].index = i;
    lis[i].style.backgroundColor = arr[i%arr.length];//i%3就是0、1、2的循环
    // 鼠标移入变个颜色
    lis[i].onmouseover = function(){
        str = this.style.backgroundColor;//先存当前鼠标所在的背景颜色
        this.style.backgroundColor = 'gray';
    }
    // 鼠标移开变回原来的颜色
    lis[i].onmouseout = function(){
        this.style.backgroundColor = str;//离开的时候再把存储的颜色还回去
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值