目录

1,案例1:表格隔行换色

2,案例2:鼠标移入粉色,移出原色【基础+】

2.1:需求说明

2.2:前置知识:鼠标移入移出事件

2.3:前置拓展知识:this关键字

2.4:分析&实现


1,案例1:表格隔行换色

要达到以上效果,仅需要将第二行,第四行tr标签获取到,更改其样式属性即可

分析:

关键点:

  1. 获取到指定的tr  (遍历时跳过0索引,让偶数索引的元素进行变色)

document.getElementsByTagName("tr");

2.修改tr对象 className

元素对象.className="blue";

步骤:

  • 页面加载完成时,编写要进行的操作
  • 隔行换色操作

//1、获取所有的tr

//2、遍历tr数组,跳过0索引,只需要偶数索引,让偶数索引改变className

代码实现:

<script>
   //一、页面加载完成时,编写要进行的操作
   window.onload = function (ev) {
      //二、隔行换色操作
      //1、获取所有的tr
      var trArr = document.getElementsByTagName("tr");
      //2、遍历tr数组,跳过0索引,只需要偶数索引,让偶数索引改变className
      for (var i = 1; i <trArr.length ; i++) {
         if(i%2==0){
            trArr[i].className= "blue";
         }
      }
   }

</script>

1,获取到指定的tr(遍历时跳过0索引,让偶数索引的元素进行变色)

document.getElementsByTagName("tr")

2,修改tr对象className   元素对象.className="blue"

2,案例2:鼠标移入粉色,移出原色【基础+】

2.1:需求说明

分析:

关键点:

  1. 鼠标移入、移出事件

onmouseover

onmouseout

  1. 自定义数据保存

2.2:前置知识:鼠标移入移出事件

目标:掌握鼠标移入、移出事件基本绑定方式

掌握事件DOM绑定方式

路径:

  1. 鼠标移入、移出事件
  2. DOM方式绑定事件

讲解:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
        /*
            onmouseover  移入
            onmouseout   移出
         */
        function run1() {
            var d1 = document.getElementById("d1");
            d1.style = "width:100px;height: 100px;background-color: blue;";
        }
        function run2() {
            var d1 = document.getElementById("d1");
            d1.style = "width:100px;height: 100px;background-color: pink;";
        }
    </script>
</head>
<body>
<!--
    移入:蓝色
    移出:改回粉色
    -->
    <div id="d1" style="width:100px;height: 100px;background-color: pink;" onmouseover="run1()" onmouseout="run2()"></div>
</body>
</html>

小结:

onmouseover:鼠标移入再触发事件

onmouseout:鼠标移出再触发事件

DOM绑定方式:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>

//需求:在页面加载完成时,为d1元素绑定鼠标移入移出事件
        window.onload = function (ev) {
            var d1 = document.getElementById("d1");
            /*d1.onmouseover = function (ev1) {
                run1();
            };*/
            d1.onmouseover = run1;
            d1.onmouseout = run2;
        }

function run1() {
            var d1 = document.getElementById("d1");
            d1.style = "width:100px;height: 100px;background-color: blue;";
        }
        function run2() {
            var d1 = document.getElementById("d1");
            d1.style = "width:100px;height: 100px;background-color: pink;";
        }
    </script>
</head>
<body>
<!--
    移入:蓝色
    移出:改回粉色
    -->
    <div id="d1" style="width:100px;height: 100px;background-color: pink;"></div>
</body>
</html>

小结:

DOM绑定方式,不修改HTML前提下,对HTML元素进行页面加载完成时,进行事件绑定。

绑定格式:

  1.   元素.事件 = function(){};
  2.   元素.事件 = 方法名;

2.3:前置拓展知识:this关键字

目标:1、掌握this关键字用法

2、掌握this关键字存储自定义数据

路径:

  1. this关键字常见使用
  2. this关键字在事件中的应用
  3. this关键字如何存储自定义数据

讲解:

this关键字常见使用

this当前对象。

this关键字在事件中的应用:

this关键字如何存储自定义数据

对象["key"]="value";

this["key"]="value";

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
        window.onload = function (ev) {
            var t1 = document.getElementById("t1");
            t1["username"] = "金雪";

t1.onclick = function (ev1) {
                alert(this["username"]);
            };
        }
    </script>
</head>
<body>
    <!--
        点击input框,展示自定义属性数据(页面加载完成时进行保存)
    -->
    <input type="text" value="xxxx" id="t1"/>
</body>
</html>

小结:

写在HTML属性中,可以在DOM绑定的事件中。

this["key"]="value";

2.4:分析&实现

  1. 步骤:

1、页面加载完成时,获取所有的tr

2、遍历所有tr,除了0索引。

3、遍历中:索引奇数保存white样式,索引偶数保存blue样式

4、遍历中:每遍历一个tr,绑定鼠标移入和移出事件

5、鼠标移入事件:先保存之前的class值,再赋予新的class值:pink

6、鼠标移出事件:获取原来的class值,赋予class

  1. 代码实现:

<style>
   .white{
      background-color: white;
   }
   .blue{
      background-color: lightskyblue;
   }
   .pink{
      background-color: pink;
   }
</style>
<script>
   //1、页面加载完成时,获取所有的tr
   window.onload = function (ev) {
      var trArr = document.getElementsByTagName("tr");
      //2、遍历所有tr,除了0索引。
      for (var i = 1; i <=trArr.length ; i++) {
         var tr = trArr[i];
         //3、遍历中:索引奇数保存white样式,索引偶数保存blue样式
         if(i%2!=0){
            tr.className = "white";
         }else{
            tr.className = "blue";
         }
         //4、遍历中:每遍历一个tr,绑定鼠标移入和移出事件
         //5、鼠标移入事件:先保存之前的class值,再赋予新的class值:pink
         tr.onmouseover = function (ev1) {
            this["temp"] = this.className;
            this.className = "pink";
         };
         //6、鼠标移出事件:获取原来的class值,赋予class
         tr.onmouseout = function (ev1) {
            this.className = this["temp"];
         };
      }
   }
</script>

dom方式绑定事件时,可以进行批量绑定

Javascript知识【案例:表格隔行换色】相关推荐

  1. elementui表格隔行换色

    关于elementui的表格隔行换色,我呢也是找了很多博客,但是都是死值,对于我这种后端的程序员还是怎么都看不顺眼的,对于隔行换色,应该也不算难点吧,但是让我绞尽脑汁,属于在学校的一个要求,自己写下来 ...

  2. 使用css选择器实现表格隔行换色

    使用css选择器实现表格隔行换色 <style>*{margin: 0;padding: 0;}body{padding: 200px;box-sizing: border-box;}ta ...

  3. Vue中实现表格隔行换色效果

    一.原理 在 Vue 中,进行表格行的循环输出时,一般使用 v-for 指令,每次循环都能得到该行的索引 index ,用每一行的索引除以2取余,余数等于1,可以使用一种颜色作为背景色,余数等于0,可 ...

  4. 转,帅气的表格隔行换色+鼠标经过变色、点击变色

    源码是: <style type="text/css"><!– #senfe { width: 650px; border-top: #E3E3E3 1px so ...

  5. JQuery 表格隔行换色

    <!DOCTYPE html> <html><head><meta charset="UTF-8"><title>< ...

  6. 微信小程序table表格-隔行换色

    wxml <view class="table"> <view class="tableTr"><view class=" ...

  7. 隔行换色并且鼠标指向行变色的表格

    一 应用 对于一些清单型数据,通常是利用表格展示到页面中.如果数据比较多,很容易看串行.这时,可以为表格添加隔行换色并且鼠标指向行变色功能. 二 代码 <script language=&quo ...

  8. 前端简单入门第十八讲 使用jQuery实现表格的隔行换色

    还记得之前我使用JavaScript来实现表格的隔行换色效果吗?如果读者初次翻阅本文,可记得看看前端简单入门第十二讲 使用JavaScript完成后台数据展示表格的隔行换色!现在我就来使用jQuery ...

  9. JQuery基础-》带有案例-隔行换色-全选-QQ表情-下拉框左右移动

    JQuery基础 下面案例用到的资源包:https://download.csdn.net/download/weixin_44537122/11879014 1.内容 1. JQuery 基础:1. ...

最新文章

  1. graphviz绘制决策树
  2. java如何监控cpu耗时_超级干货:3个性能监控和优化命令讲解
  3. 教程-经典Delphi教程网
  4. mfc 弹簧_弹簧和线程:异步
  5. jpa 返回数据转换_如何使用JPA类型转换器加密数据
  6. 图片热区map-area
  7. centos 离线安装mysql_CentOS6离线安装mysql-5.7.25
  8. ASP.NET MVC 在WebService中Token的使用方法
  9. python互斥锁_python互斥锁
  10. 我有一朋友生意做的红红火火
  11. html5积分墙联盟,积分墙是一种革新的移动广告联盟
  12. 解决织梦CMS后台验证码不正确的四种方法
  13. 裁剪好的视频如何去除黑边?
  14. 计算机cpu的字母,买电脑必看:CPU型号后的字母意思详解
  15. 一些linux牛皮糖
  16. flume笔记(四) Channal
  17. Dubbo源码解析(九)Dubbo系列 源码总结+最近感悟
  18. python输出古诗词_python爬虫——爬取古诗词
  19. 图片与进制的转化之路
  20. API 每日一图API

热门文章

  1. 初识Spring框架
  2. 创维Android4.4.4,创维电视手机遥控
  3. 抽奖随机滚动_专为年会度身定制的Excel抽奖器,姓名和照片同步随机滚动
  4. GPT分区下安装Windows7 x64 完整教程
  5. 论文阅读笔记------iTM-Net: Deep Inverse Tone Mapping Using Novel Loss Function Considering TMO
  6. 访问IP地址时host头可以改为任意域名
  7. 【leetcode】289.生命游戏 (三种解法开阔思路,java实现)
  8. 如何取消shift粘滞键?Win11粘滞键彻底关闭的方法
  9. LearnOpenGL-高级OpenGL-9.几何着色器
  10. Android指定专用APN