WEB前端:01_Tab选项卡

Tab选项卡

采用两种方法实现选项卡切换功能,目前只提供了最基本的切换效果,后期增加jquery版和渐变切换效果。

效果图:

纯JS简化版:

?





1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

<html>

<head>

<title>Tab选项卡 - 纯JS简化版</title>

<meta http-equiv="Content-Type"
content="text/html; charset=utf-8">

</head>

<style type="text/css">

#btn { width: 500px; height: 30px; margin:0;padding: 0; list-style: none;}

#btn li { cursor: pointer; float: left; width: 100px; height: 30px; margin-right: 2px; background: #666; color:#fff; text-align: center; line-height: 30px;}

#btn li.onbtn {background: #f00;}

#tabs div {display: none; width: 500px; height: 100px; border: 1px solid #ccc;}

</style>

<script type="text/javascript">

window.onload = function() {

    var
btn = document.getElementById(‘btn‘);

    var
btnli = btn.getElementsByTagName(‘li‘);

    var
tabs = document.getElementById(‘tabs‘);

    var
tabsdiv = tabs.getElementsByTagName(‘div‘);

    for
(var
a=0; a<btnli.length; a++) {

        btnli[a].index=a;

        btnli[a].onmouseover = function() {

            for
(var
b=0; b<tabsdiv.length; b++) {

                btnli[b].className = "";

                tabsdiv[b].style.display = "none";

            }

            this.className = "onbtn";

            tabsdiv[this.index].style.display = "block";

        }

    }

    

    btnli[0].className = "onbtn";

    tabsdiv[0].style.display = "block";

    

}

</script>

<body>

<div>

<ul id="btn">

    <li>选项一</li>

    <li>选项二</li>

    <li>选项三</li>

</ul>

<div id="tabs">

    <div>选项一内容</div>

    <div>选项二内容</div>

    <div>选项三内容</div>

</div>

</div>

</body>

</html>

纯JS面向对象版:

?





1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

<html>

<head>

<title>纯JS - 面向对象版</title>

<meta http-equiv="Content-Type"
content="text/html; charset=utf-8"></head>

<style type="text/css">

#btn, #btn2 { width: 500px; height: 30px; margin:0;padding: 0; list-style: none;}

#btn li, #btn2 li { cursor: pointer; float: left; width: 100px; height: 30px; margin-right: 2px; background: #666; color:#fff; text-align: center; line-height: 30px;}

#btn li.onbtn, #btn2 li.onbtn {background: #f00;}

#tabs div, #tabs2 div {display: none; width: 500px; height: 100px; border: 1px solid #ccc; margin-bottom:10px;}

</style>

<script type="text/javascript">

function
tab(btn, tabs) {

    var
_this = this;

    var
btn = document.getElementById(btn);

    var
tabs = document.getElementById(tabs);

    this.btnli = btn.getElementsByTagName(‘li‘);

    this.tabsdiv = tabs.getElementsByTagName(‘div‘);

    for
(var
a=0; a<this.btnli.length; a++) {

        this.btnli[a].index = a;

        this.btnli[a].onmouseover = function() {

            _this.onmouseoverfn(this);

        }

    }

    this.tabsdiv[0].style.display = "block";

    this.btnli[0].className = "onbtn";

}

tab.prototype.onmouseoverfn = function(obj) {

    for
(var
b=0; b<this.btnli.length; b++) {

        this.tabsdiv[b].style.display = "none";

        this.btnli[b].className = "";

    }

    this.tabsdiv[obj.index].style.display = "block";

    this.btnli[obj.index].className = "onbtn";

}

window.onload = function() {

    new
tab(‘btn‘, ‘tabs‘);

    new
tab(‘btn2‘, ‘tabs2‘);

}

</script>

<body>

<div>

<ul id="btn">

    <li>选项一</li>

    <li>选项二</li>

    <li>选项三</li>

</ul>

<div id="tabs">

    <div>选项一内容</div>

    <div>选项二内容</div>

    <div>选项三内容</div>

</div>

</div>

<div>

<ul id="btn2">

    <li>选项一</li>

    <li>选项二</li>

    <li>选项三</li>

</ul>

<div id="tabs2">

    <div>选项一内容</div>

    <div>选项二内容</div>

    <div>选项三内容</div>

</div>

</div>

</body>

</html>

WEB前端:01_Tab选项卡,布布扣,bubuko.com

时间: 2024-10-24 14:06:54

WEB前端:01_Tab选项卡的相关文章

Web前端开发推荐阅读书籍、学习课程下载

转自http://www.xuanfengge.com/fe-books.html 前言 学校里没有前端的课程,那如何学习JavaScript,又如何使自己成为一个合格的前端工程师呢? 除了在项目中学习和跟着有经验的同事学习,读书也是必不可少的.书中有着相对完整的知识体系,每读一本好书都会带来一次全面的提高. 而如果深一脚浅一脚的学习,写出代码的质量会参差不齐.初学者的首要任务是成为靠谱的熟练开发者,能够稳定的输出有一定质量的代码. 前端技术发展速度特别快,总是涌现出很多新的东西,需要不断的学习

麦子学院-Web前端开发工程师系列培训教程

HTML+CSS基础入门1.课程介绍2.html的语法3.html的基本结构4.html的文档设置标记上(格式标记)5.html的文档设置标记下(文本标记)6.html图像标记img7.html超链接的使用8.html表格相关的标记9.html表格实战<简单的网页布局>10.html框架详解与框架布局实战11.HTML表单设计(上)12.HTML表单设计(下)13.使用CSS样式的方式14.定义CSS样式(CSS选择器)15.CSS常用属性(颜色属性)16.css常用属性(字体相关属性)17.

移动平台WEB前端开发技巧汇总

您或许正在或准备参与一个WepApp项目,您或许正在Google搜索mobile development相关的文章,您或许是一名专业的WEB前端工程师,您或许想学习Mobile前端开发方面的技术,如果您被我说中了,呵呵那么这篇文章将为您带来意想不到的惊喜!当您看到这篇文章时,哥已经默认认为您是一名资深的WEB前端工程师,如果您不是,可能您会遇见许多不理解或听不懂的专业术语或前端技术(包括WEB.Mobile).但是这没有关系,给自己一点信心吧,用心的阅读下去…… 自Iphone和Android这

Web前端发展简史

Web前端发展简史 有人说“前端开发”是IT界最容易被误解的岗位,这不是空穴来风.如果你还认为前端只是从美工那里拿到切图, JS和CSS一番乱炖,难搞的功能就去网上信手拈来,CtrlC + Ctrl V的话,那就正中了这份误解的下怀.经过十几年的发展,web前端早已脱离了原来边缘化的形态,扮演了移动互联网开发链条中最关键的角色,是应用或产品能否打动用户的踹门砖.那么什么是前端开发,其又包含了哪些内容? 前端开发的定义 从狭义的定义来看,“前端开发”是指围绕HTML.JavaScript.CSS这

【转】两款 Web 前端性能测试工具

前段时间接手了一个 web 前端性能优化的任务,一时间不知道从什么地方入手,查了不少资料,发现其实还是蛮简单的,简单来说说. 一.前端性能测试是什么? 前端性能测试对象主要包括: HTML.CSS.JS.AJAX 等前端技术开发的 Web 页面 影响用户浏览网页速度的因素主要有: 服务端数据返回.网络传输.页面渲染等 前端性能测试目的: 计算出包含页面渲染.网络传输以及服务器端解析等综合因素在内的加载时间指标,对该页面性能进行评估分析,找出影响性能的主要因素和瓶颈,并在此基础上,给出一定的优化建

Web前端三大框架_angular.js 6.0(二)

Web前端三大框架_angular.js 6.0(一)点击阅读angular第一天昵称,领取全套angular视频教程一.Angular 6.0 1.1样式html中引入样式:内嵌式,外链式,行内式. ng6中组件引入样式的方式也有三种: 外链式 ng6中,已经将css预编译语言配置出来了,因此我们可以直接使用他们 在组件注解类中,通过styleUrls引入样式文件,是一个数组,可以引入多个文件 如果引入的是.css文件,就是css语法 如果引入的是.less文件,就是less语法 如果引入的是

拿到十份互联网公司Offer,他是怎样学好web前端开发的?

Web前端工程师是近几年的新兴职业,也是目前火爆而且高薪的职业.不同的公司也有不同的叫法,比如:网页界面开发,网站设计等,要学好web前端开发,需要掌握什么方法与技巧? 一.Div和Table 这个是最简单的,也是最基础的.要熟练掌握div.form table.ul li .p.span.font这些标签,这些都是最常用的,特别是div和table,div用于布局.table也可以用于布局,但是不灵活,基本 table是用来和数据打交道. 二.CSS 这里说的css不包括css3,一般我们看到

零基础想学习web前端?这套教程是你正在苦苦寻找的吧

你也许会觉得Web前端开发是一个很简单的工作,但当你深入其中时,一定会发现好像Web前端开发不是那么简单,光网站性能优化.响应式.框架就让你焦头烂额.确实,做前端开发就是先易后难,想成为一个优秀的Web前端开发,没有那么简单.不过,天下事难则不会,会则不难,你只需要掌握11项技能就可以成为Web前端“大拿”一.入门必备的技能:第1项技能:HTML超文本标记语言:技能要点:HTML文件的结构HTML文件的编写方法HTML基本标记文字与段落标记框架使用表单XHTML页面结构第2项技能:JavaScr

一张图掌握移动Web前端所有技术(大前端、工程化、预编译、自动化)

你要的移动web前端都在这里! 大前端方向:移动Web前端.Native客户端.Node.js. 大前端框架:React.Vue.js.Koa 跨终端技术:HTML 5.CSS 3.JavaScript 跨平台框架:React Native.Cordova 前端工程化:Grunt.Gulp.Webpack 前端预编译:Babel.Sass.Less 自动化测试:Jasmine.Mocha.Karma 一图在手,应有尽有! 更多信息参考:https://item.jd.com/12170351.h