zoukankan      html  css  js  c++  java
  • 不用jquery实现tab页切换,刷新,后退,前进状态自动维护 很好用

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>ajax保持状态多标签切换</title>
        <style type="text/css">
            body
            {
                margin: 0 10px;
                padding: 0px;
                font-size: 14px;
            }
            .hide
            {
                display: none;
            }
            .tab_bar
            {
                height: 50px;
                padding: 0;
                border-bottom: 1px solid #A4A4A4;
            }
            .tab_bar ul
            {
                margin-top: 0px;
                margin-left: 50px;
            }
            .tab_bar ul li
            {
                display: inline;
            }
            .tab_bar ul li a
            {
                height: 20px;
                text-decoration: none;
                color: #333;
                margin: 9px 10px 10px 0;
                padding: 10px;
                display: inline-block;
                background-color: #DBECFE;
                border: 1px solid #A4A4A4;
            }
            .tab_bar ul li a:hover, .tab_bar ul li a.here
            {
                background-color: #fff;
                border-bottom: 1px solid #fff;
            }
        </style>
        <script type="text/javascript">
            function $(id) {
                return document.getElementById(id);
            }
            function createFunction(obj, strFunc) {
                var args = [];
                if (!obj) obj = window;
                for (var i = 2; i < arguments.length; i++) args.push(arguments[i]);
                return function () {
                    obj[strFunc].apply(obj, args);
                }
            }
            function addEvent(obj, type, fn) {
                if (obj.attachEvent) {
                    obj.attachEvent('on' + type, fn);
                } else
                    obj.addEventListener(type, fn, false);
            }
            function monitHashChange(hashChangeFire) {
                var hash = window.location.hash.substring(1);
                if (('onhashchange' in window)
                    && ((typeof document.documentMode === 'undefined')
                    || document.documentMode == 8)) {
                    window.onhashchange = function () {
                        hashChangeFire(window.location.hash.substring(1));
                    };
                } else {
                    setInterval(function () {
                        var ischanged = hash != window.location.hash.substring(1);
                        if (ischanged) {
                            hash = window.location.hash.substring(1);
                            hashChangeFire(hash);
                        }
                    }, 150);
                }
            }
            function show_panel(link) {
                link = typeof (link) == "string" ? link : link.id.replace("link_", "");
                window.location.hash = link;
                if (link.length == 0)
                    link = "install_sql";
                var links = ["install_sql", "basic_setting", "mail_setting", "alipay_setting"];
                for (var i = 0; i < links.length; i++) {
                    var n = links[i];
                    if (n == link) {
                        $("link_" + n).setAttribute("class", "here");
                        $("div_" + n).style.display = "block";
                    }
                    else {
                        $("link_" + n).removeAttribute("class");
                        $("div_" + n).style.display = "none";
                    }
                }
            }
            var link = (!window.location.hash) ? "install_sql" : window.location.hash.substring(1);
            addEvent(window, "load", createFunction(null, "show_panel", link));
            addEvent(window, "load", createFunction(null, "monitHashChange", show_panel));
    
        </script>
    </head>
    <body>
        <div class="tab_bar">
            <ul>
                <li><a href="javascript:;" onclick="show_panel(this)" id="link_install_sql" class="here">
                    1、安装数据库</a></li>
                <li><a href="javascript:;" onclick="show_panel(this)" id="link_basic_setting">2、设置基本配置</a></li>
                <li><a href="javascript:;" onclick="show_panel(this)" id="link_mail_setting">3、邮件相关设置</a></li>
                <li><a href="javascript:;" onclick="show_panel(this)" id="link_alipay_setting">4、支付宝配置</a></li>
            </ul>
        </div>
        <div id="div_install_sql">
            <h2>
                1、安装数据库</h2>
        </div>
        <div id="div_basic_setting" class="hide">
            <h2>
                2、设置基本配置</h2>
        </div>
        <div id="div_mail_setting" class="hide">
            <h2>
                3、邮件相关设置</h2>
        </div>
        <div id="div_alipay_setting" class="hide">
            <h2>
                4、支付宝配置</h2>
        </div>
    </body>
    </html>
  • 相关阅读:
    actionbar中添加searchview并监听期伸缩/打开的方法
    Java基础学习总结(87)——坚持写Java等技术类博客的好处
    Nginx学习总结(3)——Nginx配置及应用场景之高级配置
    [置顶] 软件版本命名规范及各阶段说明
    戏说云计算之PaaS,IaaS,SaaS
    App后台开发运维和架构实践学习总结(4)——APP的注册和登录功能设计
    Maven学习总结(30)——Maven项目通用三级版本号说明
    Java Web学习总结(29)——Java Web中的Filter和Interceptor比较
    养成10个优秀的习惯
    Java基础学习总结(86)——Java异常处理机制Exception抛出异常时throw和throws用法详解
  • 原文地址:https://www.cnblogs.com/visi_zhangyang/p/3335115.html
Copyright © 2011-2022 走看看