zoukankan      html  css  js  c++  java
  • web前端中实现多标签页切换的效果

    在这里,实现多标签页效果的方法有两个,一个是基于DOM的,另一个是基于jquery的,此次我写的是一个对于一个电话套餐的不同,显示不同的标签页

    方法一:

    首先,我们要把页面的大体框架和样式写出来,html和css代码如下:

    <ul id="tab">
        <li id="tab1" onclick="show(1)">10元套餐</li>
        <li id="tab2" onclick="show(2)">30元套餐</li>
        <li id="tab3" onclick="show(3)">50元包月</li>
    </ul>
    <div id="container">
        <div id="content1" style="z-index: 1;">
              10元套餐详情:<br />&nbsp;每月套餐内拨打100分钟,超出部分2毛/分钟
        </div>
        <div id="content2">
             30元套餐详情:<br />&nbsp;每月套餐内拨打300分钟,超出部分1.5毛/分钟
        </div>
        <div id="content3">
             50元包月详情:<br />&nbsp;每月无限量随心打
         </div>
    </div>
    css样式代码如下:

    *{
    margin:0;
    padding: 0;
    }
    #tab li{
    float: left;
    list-style: none;
    80px;
    height: 40px;
    line-height: 40px;
    cursor: pointer;
    text-align: center;
    }
    #container{
    position: relative;
    }
    #content1,#content2,#content3{
    300px;
    height: 100px;
    padding:30px;
    position: absolute;
    top: 40px;
    left: 0;
    }
    #tab1,#content1{
    background-color: #ffcc00;
    }
    #tab2,#content2{
    background-color: #ff00cc;
    }
    #tab3,#content3{
    background-color: #00ccff;
    }
    形成的静态界面如下:

    现在,开始写javascript代码了,实现动态效果,点击哪个标签,对应的页面会显示出来,代码如下:

    <script>

    function show(n){

    var curr=document.querySelector("div[style]");
    curr.removeAttribute("style");
    document.getElementById("content"+n)
    .style.zIndex="1";
    }
    </script>

     页面效果如下:

    点击30元套餐,出现的界面:

    点击50元包月的时候,出现的界面: 

    方法二:基于jquery,首先我们要在html页面的中引入jquery-1.11.3.js文件

    html代码(css样式代码同方法一):

     <ul id="tab">
        <li id="tab1" value="1">10元套餐</li>
        <li id="tab2" value="2">30元套餐</li>
        <li id="tab3" value="3">50元包月</li>
    </ul>
    <div id="container">
        <div id="content1" style="z-index: 1;">
              10元套餐详情:<br />&nbsp;每月套餐内拨打100分钟,超出部分2毛/分钟
        </div>
        <div id="content2">
             30元套餐详情:<br />&nbsp;每月套餐内拨打300分钟,超出部分1.5毛/分钟
        </div>
        <div id="content3">
             50元包月详情:<br />&nbsp;每月无限量随心打
         </div>
    </div>

    js代码如下:

    <script>
    $("#tab>li").click(function(){
    console.log(this);
    $("#content"+$(this).val()).attr('style','z-index:1').siblings("div").removeAttr("style");
    });
    </script>

    最终实现的效果同方法一

  • 相关阅读:
    Java集合框架
    常见异常--被解码的 URI 不是合法的编码
    BigDecimal使用以及异常处理
    文章标题--再识HTML5
    【转】解决$Proxy0 cannot be cast to java.sql.Connection异常
    Response-->cookie的添加和删除
    自定义标签---TLD约束文件格式说明
    XML约束文件---DTD文件
    JavaScript——注册表单参考模板(含参数格式校验)
    java的可序列化(转载)
  • 原文地址:https://www.cnblogs.com/yuershuo/p/5699570.html
Copyright © 2011-2022 走看看