原生js,面向过程的方法,写个选项卡练练手

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="UTF-8">
 5         <title>js制作一个选项卡</title>
 6         <style type="text/css">
 7             .tab_title span.active {
 8                 background:#000;
 9                 color: #FFF;
10             }
11             .tab_content {
12                 border:1px solid #000;
13                 padding: 20px;
14             }
15             .tab_content div {
16                 display: none;
17             }
18             .tab_content div.active {
19                 display: block;
20             }
21         </style>
22
23         <script type="text/javascript">
24             //1.选取到tab选项卡 2.为选项卡添加事件
25             window.onload = function(){
26                 var arr_tab_span = document.getElementsByTagName(‘span‘);
27                 var tab_section = document.getElementById(‘sec_con‘);
28                 var arr_tab_div = tab_section.getElementsByTagName(‘div‘);
29
30                 //console.log(arr_tab_span);
31                 //console.log(tab_section);
32                 //console.log(arr_tab_div);
33
34                 for (var i=0; i<arr_tab_span.length;i++) {
35                     arr_tab_span[i].index = i;
36                     arr_tab_span[i].onclick = function(){ //为选项卡点击添加事件
37                         for(var j=0;j<arr_tab_span.length;j++){
38                             arr_tab_span[j].className = ‘‘;
39                             arr_tab_div[j].className = ‘‘;
40                         }//for结束
41                         this.className = ‘active‘;
42                         arr_tab_div[this.index].className = ‘active‘;
43
44                     }
45                 }//for结束
46             }
47         </script>
48
49     </head>
50     <body>
51         <div style="width: 500px;">
52             <nav class="tab_title">
53                 <span class="active">语文</span>
54                 <span>数学</span>
55                 <span>娱乐</span>
56             </nav>
57             <section class="tab_content" id="sec_con">
58                 <div class="active">
59                     鲁迅是语文课本上的
60                 </div>
61                 <div>
62                     祖冲之是数学课上的
63                 </div>
64                 <div>
65                     孙悟空是娱乐电视里的
66                 </div>
67             </section>
68         </div>
69     </body>
70 </html>

代码效果如下

原文地址:https://www.cnblogs.com/html55/p/9768033.html

时间: 2024-10-13 03:06:19

原生js,面向过程的方法,写个选项卡练练手的相关文章

原生JS取代一些JQuery方法的简单实现

原生JS取代一些JQuery方法的简单实现 下面小编就为大家带来一篇原生JS取代一些JQuery方法的简单实现.小编觉得挺不错的,现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧 1.选取元素 // jQuery var els = $('.el'); // Native var els = document.querySelectorAll('.el'); // Shorthand var $ = function (el) { return document.querySelect

原生js获取鼠标坐标方法全面讲解-zmq

原生js获取鼠标坐标方法全面讲解:clientX/Y,pageX/Y,offsetX/Y,layerX/Y,screenX/Y 一.关于js鼠标事件综合各大浏览器能获取到坐标的属性总共以下五种:event.clientX/Yevent.pageX/Yevent.offsetX/Yevent.layerX/Yevent.screenX/Y 二.分别讲解如下: clientX/Y: clientX/Y获取到的是触发点相对浏览器可视区域左上角距离,不随页面滚动而改变 兼容性:所有浏览器均支持 page

Js使用面向对象和面向过程的方法实现拖拽物体的效果

1.面向过程的拖拽实现代码: <!DOCTYPE html> <html> <head> <title>drag Div</title> <style type="text/css"> #div1{width: 100px;height: 100px;background: red;position: absolute;} </style> <script type="text/java

原生js操作dom的方法

今天学习了原生js的dom节点的操作,就记录下来,仅供自己以后参考. 1)创建节点:除了可以使用createElement创建元素,也可以使用createTextNode创建文本节点. document.body指向的是<body>元素;document.documentElement则指向<html>元素 //创建节点    var createNode = document.createElement("div");    var createTextNod

用原生js实现一个new方法

首先写一个父类方法(包含参数name,age): function Person(name,age){ this.name = name; this.age = age; } new一个Person的实例p1做研究对比 var p1 = new Person("Richard", 22); //此时p1包含name.age属性,同时p1的__proto__指向Person的prototype p1.name;//Richard p1.age;//22 自定义一个New函数: //通过分

原生JS取代一些JQuery方法

1.选取元素 // jQuery var els = $('.el'); // Native var els = document.querySelectorAll('.el'); // Shorthand var $ = function (el) { return document.querySelectorAll(el); } querySelectorAll方法返回的是NodeList对象,需要转换为数组. myList = Array.prototype.slice.call(myNo

原生js获取鼠标坐标方法全面讲解:clientX/Y,pageX/Y,offsetX/Y,layerX/Y,screenX/Y

简介 关于js鼠标事件综合各大浏览器能获取到坐标的属性总共以下五种: event.clientX/Y event.pageX/Y event.offsetX/Y event.layerX/Y event.screenX/Y clientX/Y: clientX/Y获取到的是触发点相对浏览器可视区域左上角距离,不随页面滚动而改变 兼容性:所有浏览器均支持 pageX/Y: pageX/Y获取到的是触发点相对文档区域左上角距离,会随着页面滚动而改变 兼容性:除IE6/7/8不支持外,其余浏览器均支持

原生js实现ajax的方法

var Ajax={ get: function (url,fn){ var obj=new XMLHttpRequest(); // XMLHttpRequest对象用于在后台与服务器交换数据 obj.open('GET',url,true); obj.onreadystatechange=function(){ if (obj.readyState == 4 && obj.status == 200) { // readyState==4说明请求已完成 fn.call(this, ob

现代浏览器原生js获取id号方法

<div id="tests" class="a b c" style="color:#f00">123</div> var test = tests.firstChild.nodeValue; tests = tests.childNodes[0]; tests.insertData(0,789);//从前插入789 var t2 = document.querySelector("#tests");