JavaScript实现标签页切换效果

本文实例为大家分享了JavaScript实现标签页切换效果的具体代码,供大家参考,具体内容如下

构建主体界面

HTML代码

<h1>实现标签页的切换效果</h1>
<ul id="tab">
    <li><a href="">影视</a></li>
    <li><a href="">娱乐</a></li>
    <li><a href="">电视剧</a></li>
</ul>
<div id="content">
    <div id="content1">最新电影推荐:<br>《速度与激情》<br> 《超能陆战队》</div>
    <div id="content2">火爆娱乐推荐:<br>《奔跑吧兄弟》<br> 《中国好声音》</div>
    <div id="content3">热门电视剧推荐:<br>《三生三世》<br> 《我们的少年时代》</div>
</div>

编写 CSS 文件

新建 CSS 文件,编写CSS 代码渲染之前编写的 HTML 界面。

记得在 HTML 文件中引入编写的 CSS 文件。

<link rel="stylesheet" href="mCSS.css" >

CSS 文件代码

*{
    margin: 0;
    padding: 0;
}

#tab {
    overflow: hidden;
}

#tab li {
    float: left;
    list-style: none;
    width: 80px;
    height: 40px;
    text-align: center;
}

#tab li:first-child, #content1 {
    background: #ffcc00;
}

#tab li:first-child + li, #content2 {
    background: #ff00cc;
}

#tab li:last-child, #content3 {
    background: #00ccff;
}

#tab li a {
    line-height: 40px;
    color: white;
    text-decoration: none;
}

#content {
    position: relative;
}

#content1, #content2, #content3 {
    width: 300px;
    height: 100px;
    position: absolute;
    top: 0;
    left: 0;
    padding: 30px;
    display: none;
}

#content1{
    display: block;
}

编写 JavaScript 脚本文件,实现切换效果

JavaScript 代码

// 当点某一个标签的时候对应的 div 显示,其他的隐藏。
// 查找触发事件的元素
var as = document.querySelectorAll("#tab a");
// 绑定事件处理函数
for (var i = 0; i < as.length; i++) {
    as[i].onclick = function () {
        // 隐藏所有的 div
        var divs = document.querySelectorAll("#content>div");
        for (var i = 0; i < divs.length; i++) {
            divs[i].style.display = "none";
        }
        // 让对应的 div显示
        // 获取当前的 a 的 href
        var i = this.href.lastIndexOf("#");
        var id = this.href.slice(i);
        console.log(id)
        document.querySelector(id).style.display = "block";
    }

}

完整案例代码

mHTML.html

<link rel="stylesheet" href="mCSS.css" >

<h1>实现标签页的切换效果</h1>
<ul id="tab">
    <li><a href="#content1" >影视</a></li>
    <li><a href="#content2" >娱乐</a></li>
    <li><a href="#content3" >电视剧</a></li>
</ul>
<div id="content">
    <div id="content1">最新电影推荐:<br>《速度与激情》<br> 《超能陆战队》</div>
    <div id="content2">火爆娱乐推荐:<br>《奔跑吧兄弟》<br> 《中国好声音》</div>
    <div id="content3">热门电视剧推荐:<br>《三生三世》<br> 《我们的少年时代》</div>
</div>

<script src="mJS.js"></script>

mCSS.css

*{
    margin: 0;
    padding: 0;
}

#tab {
    overflow: hidden;
}

#tab li {
    float: left;
    list-style: none;
    width: 80px;
    height: 40px;
    text-align: center;
}

#tab li:first-child, #content1 {
    background: #ffcc00;
}

#tab li:first-child + li, #content2 {
    background: #ff00cc;
}

#tab li:last-child, #content3 {
    background: #00ccff;
}

#tab li a {
    display: block;
    width: 100%;
    height: 100%;
    line-height: 40px;
    color: white;
    text-decoration: none;
}

#content {
    position: relative;
}

#content1, #content2, #content3 {
    width: 300px;
    height: 100px;
    position: absolute;
    top: 0;
    left: 0;
    padding: 30px;
    display: none;
}

#content1{
    display: block;
}

mJS.js

// 当点某一个标签的时候对应的 div 显示,其他的隐藏。
// 查找触发事件的元素
var as = document.querySelectorAll("#tab a");
// 绑定事件处理函数
for (var i = 0; i < as.length; i++) {
    as[i].onclick = function () {
        // 隐藏所有的 div
        var divs = document.querySelectorAll("#content>div");
        for (var i = 0; i < divs.length; i++) {
            divs[i].style.display = "none";
        }
        // 让对应的 div显示
        // 获取当前的 a 的 href
        var i = this.href.lastIndexOf("#");
        var id = this.href.slice(i);
        console.log(id)
        document.querySelector(id).style.display = "block";
    }

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • 纯css+js写的一个简单的tab标签页带样式

    最近经常要用tab标签页,所以写了一个简单的,以后用的话直接拷贝一个,稍微改改就OK了. 先看效果图:  接下来看下代码怎么写的吧: 一.sp文件easytab.jsp 复制代码 代码如下: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String b

  • JS实现标签页切换效果

    本文实例为大家分享了JS标签页切换的具体代码,供大家参考,具体内容如下 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>resize</title> <style type="text/css"> *{margin:0;padding:0;}

  • AngularJS实现标签页的两种方式

    一.通过普通指令实现标签页 <link rel="stylesheet" href="views/show/tab.css"/> <div> <ul class="nav nav-tabs" ng-init="vm.activeTab=1"> <li ng-class="{active: vm.activeTab == 1}"><a href="

  • 最简单纯JavaScript实现Tab标签页切换的方式(推荐)

    先说一下最土的一种方法: Html: <div class="tab-head"> <h2 id="tab1" onmouseover="changeTab1()" class="selected">1</h2> <h2 id="tab2" onmouseover="changeTab2()">2</h2> <h2 id=

  • JS实现切换标签页效果实例代码

    在网页<head>区添加以下代码 复制代码 代码如下: <style type="text/css">  <!--  BODY {  PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 12px; PADDING-BOTTOM: 0px; MARGIN: 0px auto; COLOR: black; LINE-HEIGHT: 150%; PADDING-TOP: 10px; BACKGROUND-COLOR

  • vue.js实现标签页切换效果

    第二个实例是关于标签页切换的,先看一下效果: 这也是一个很常见的交互效果,以往正常的javascript写法是给各个按钮绑定事件来切换不同的层,当然也可以用纯css写,给上面的三个切换的层分别添加一个单选按钮的兄弟节点,再用绝对定位把单选按钮定位在三个button上面,这样就可以用:checked伪类来单选按钮的兄弟元素,即对应的不同的层,我简单的写了一下DOM结构,大概就是这样: 那么用vue.js实现上述的效果,其实也有两种途径,一种使用vue-router,vue-router是vue.j

  • JavaScript实现Tab标签页切换的最简便方式(4种)

    先说一下最土的一种方法: Html: <div class="tab-head"> <h2 id="tab1" onmouseover="changeTab1()" class="selected">1</h2> <h2 id="tab2" onmouseover="changeTab2()">2</h2> <h2 id=

  • JS实现标签页效果(配合css)

    实现的效果: 如上图所示为制作的标签页,我们想要实现的效果是当鼠标移到某一个标签的时候,在下面的内容区显示对应的内容,并且相应标签的颜色需要改变,如图中所示当前鼠标的位置在"标签1"上,则内容区域显示的内容为"我是内容1",并且"标签1"的颜色要比"标签2"和"标签3"深一些,同样鼠标移到"标签2"和"标签3"的时候显示"我是内容2"和"

  • AngularJS标签页tab选项卡切换功能经典实例详解

    本文实例讲述了AngularJS实现标签页tab选项卡功能.分享给大家供大家参考,具体如下: 选项卡一: JavaScript+html+css <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>www.jb51.net js标签页tab切换</title> <style> #div1 .active{ background:blue

  • JavaScript实现标签页切换效果

    本文实例为大家分享了JavaScript实现标签页切换效果的具体代码,供大家参考,具体内容如下 构建主体界面 HTML代码 <h1>实现标签页的切换效果</h1> <ul id="tab"> <li><a href="">影视</a></li> <li><a href="">娱乐</a></li> <li>

  • 详解vue2.0 使用动态组件实现 Tab 标签页切换效果(vue-cli)

    在 vue 中,实现 Tab 切换主要有三种方式:使用动态组件,使用 vue-router 路由,使用第三方插件. 因为这次完成的功能只是简单切换组件,再则觉得使用路由切换需要改变地址略微麻烦,所以使用的是动态组件实现,如果是在大型应用上,可能使用 vue-router 会方便一些. 先看下最终实现的效果,结构比较简单,顶部的三个 Tab 标签用于切换,内容区域分别为三个子组件. 效果预览 关键代码及分析如下: <template> // 每一个 tab 绑定了一个点击事件,传入的参数对应着

  • 基于jQuery实现多标签页切换的效果(web前端开发)

    这里,实现多标签页效果的方法有两个,一个是基于DOM的,另一个是基于jquery的,此次我写的是一个对于一个电话套餐的不同,显示不同的标签页 方法一: 首先,我们要把页面的大体框架和样式写出来,html和css代码如下: <ul id="tab"> <li id="tab1" onclick="show(1)">10元套餐</li> <li id="tab2" onclick=&quo

  • javascript实现tabs选项卡切换效果(自写原生js)

    现在的页面上有许多各种各样的页面效果,常用的有弹出层效果,无缝滚动效果,选项卡切换效果.今天分享一款自己用原生javascript写的选项卡切换效果,由于本人水平有限,如有问题请指出. 效果图如下:  html代码: 复制代码 代码如下: <!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8"> <title>js-tabs</

  • JS实现的tab页切换效果完整示例

    本文实例讲述了JS实现的tab页切换效果.分享给大家供大家参考,具体如下: 效果图如下: 完整实例代码: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head>

  • Bootstrap开发中Tab标签页切换图表显示问题的解决方法

    前言 在做响应式页面的时候,往往需要考虑更多尺寸设备的界面兼容性,一般不能写死像素,以便能够使得界面元素能够根据设备的不同进行动态调整,但往往有时候还是碰到一些问题,如Tab标签第一页面正常显示,但是切换其他页面的时候显示内容没有发生动态的调整,本篇随笔介绍解决Tab标签页切换图表显示问题,以及图表控件可以实现窗口动态变化进行调整尺寸. 1)常规的图表处理 例如下面界面有两个Tab标签页,如下所示,第一个标签页显示正常. 部分界面代码如下所示 <div class="portlet-bod

随机推荐