Javascript知识【案例:表格隔行换色】

简介: Javascript知识【案例:表格隔行换色】

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



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


分析:


关键点:


获取到指定的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:需求说明





分析:


关键点:


鼠标移入、移出事件

onmouseover


onmouseout


自定义数据保存

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

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


 掌握事件DOM绑定方式


路径:


鼠标移入、移出事件

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元素进行页面加载完成时,进行事件绑定。


绑定格式:


 元素.事件 = function(){};

 元素.事件 = 方法名;

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

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


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


路径:


this关键字常见使用

this关键字在事件中的应用

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、页面加载完成时,获取所有的tr


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


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


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


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


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


代码实现:

<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方式绑定事件时,可以进行批量绑定

相关文章
|
3月前
|
数据采集 Web App开发 JavaScript
利用Selenium和XPath抓取JavaScript动态加载内容的实践案例
利用Selenium和XPath抓取JavaScript动态加载内容的实践案例
|
1月前
|
前端开发 JavaScript
JavaScript动态渲染页面爬取——CSS位置偏移反爬案例分析与爬取实战
JavaScript动态渲染页面爬取——CSS位置偏移反爬案例分析与爬取实战
|
3月前
|
JavaScript 前端开发 UED
Javaweb之javascript的小案例的详细解析
通过上述步骤,我们得到了一个动态更新的实时时钟,这个简单的JavaScript案例展示了定时器的使用方法,并讲解了如何处理日期和时间。这个案例说明了JavaScript在网页中添加动态内容与交互的能力。对于涉足JavaWeb开发的学习者来说,理解和运用这些基础知识非常重要。
42 11
|
3月前
|
JavaScript 前端开发
使用js生成表格标题、表格内容并且每行附带删除按钮然后插入到页面中
使用js生成表格标题、表格内容并且每行附带删除按钮然后插入到页面中
39 2
|
3月前
|
前端开发 JavaScript 开发者
fuse.js前端搜索简单使用的三个案例
通过这三个例子可以看出,Fuse.js 是一个功能丰富、易于实现的前端搜索库。它使开发者能够便捷地实现从基础到高级的搜索功能,无论是简单的列表搜索还是实时的搜索建议,都能够高效、精确地提供给用户所需的信息。
193 0
|
3月前
|
JavaScript 前端开发 开发者
Vue.js 2 项目实战(四):成绩案例
Vue.js 2 项目实战(四):成绩案例
|
3月前
|
JavaScript 前端开发 开发者
Vue.js 2 项目实战(三):综合案例-小黑记事本
Vue.js 2 项目实战(三):综合案例-小黑记事本
|
3月前
|
JavaScript 前端开发 开发者
Vue.js 2 项目实战(二):图书管理案例
Vue.js 2 项目实战(二):图书管理案例
|
3月前
|
JavaScript 前端开发 开发者
Vue.js 2 项目实战(一):图片切换案例
Vue.js 2 项目实战(一):图片切换案例
|
3月前
|
数据采集 存储 JavaScript
JS逆向案例:巨潮资讯数据采集
JS逆向案例:巨潮资讯数据采集
49 0