zoukankan      html  css  js  c++  java
  • 一个页面多个Tap切换的使用

    <!DOCTYPE html>
    <html>
    
        <head>
            <meta charset="UTF-8">
            <title></title>
            <script src="js/jquery-1.11.0.js" type="text/javascript" charset="utf-8"></script>
            <style type="text/css">
                .tabs-nav li {
                    float: left;
                    cursor: pointer;
                }
                
                .tabs {
                    width: 80.9%;
                    height: auto;
                    overflow: hidden;
                }
                
                .tabs-nav {
                    width: 100%;
                    height: auto;
                    overflow: hidden;
                    display: flex;
                    justify-content: space-around;
                }
                
                .tabs-contents {
                    width: 100%;
                    height: auto;
                    overflow: hidden;
                }
                
                .tabs-nav li.active {
                    color: #9d0e0e;
                    border-bottom: 1px solid #9D0E0E;
                }
            </style>
        </head>
    
        <body>
            <div class="tabs" data-vendor="tabs">
                <ul class="tabs-nav">
                    <li>1</li>
                    <li>2</li>
                    <li>3</li>
                </ul>
                <div class="tabs-contents">内容1</div>
                <div class="tabs-contents">内容二</div>
                <div class="tabs-contents">
                    <div class="tabs" data-vendor="tabs">
                        <ul class="tabs-nav">
                            <li>1</li>
                            <li>2</li>
                            <li>3</li>
                        </ul>
                        <div class="tabs-contents">内容1</div>
                        <div class="tabs-contents">内容二</div>
                        <div class="tabs-contents">内容三</div>
                    </div>
                </div>
            </div>
            <div class="tabs" data-vendor="tabs">
                <ul class="tabs-nav">
                    <li>1</li>
                    <li>2</li>
                    <li>3</li>
                </ul>
                <div class="tabs-contents">内容1</div>
                <div class="tabs-contents">内容二</div>
                <div class="tabs-contents">内容三</div>
            </div>
        </body>
        <script type="text/javascript">
            (function($) {
                var name = 'myTabs';
    
                // 选项卡
                var AppTabs = function(element, options) {
                    // 参数继承
                    this.options = $.extend(true, {}, AppTabs.DEFAULTS, options);
    
                    // 对象
                    this.$this = $(element);
                    this.$nav = $(element).children('.tabs-nav');
                    this.$navItems = this.$nav.children('li');
                    this.$contents = $(element).children('.tabs-contents');
    
                    // 初始化
                    this.init();
                };
    
                // 实现方法
                AppTabs.prototype = {
                    // 初始化
                    init: function() {
                        // 当前高亮 - 默认,获取 .active 的 index 值,否则第一个高亮
                        var $activeNav = this.$nav.children('li.active:first');
                        this.nowInt = $activeNav[0] ? $activeNav.index() : parseInt(this.options.startInt);
                        this.flip(this.nowInt);
    
                        // 事件绑定
                        $.each(this.$navItems, $.proxy(function(i, item) {
                            $(item).on('click.' + name, $.proxy(this, 'flip', i));
                        }, this));
    
                    },
    
                    // 切换
                    flip: function(index) {
                        // 标签切换
                        this.$navItems.removeClass('active')
                            .eq(index)
                            .addClass('active');
    
                        // 内容切换
                        this.$contents.hide()
                            .eq(index)
                            .show();
                    }
                };
    
                // 暴露参数
                AppTabs.DEFAULTS = {
                    startInt: 0
                };
    
                // jQuery 调用
                $.fn.appTabs = function(options) {
                    var isMethod = (typeof options === 'string') ? true : false;
                    return this.each(function() {
                        var $this = $(this),
                            data = $.data(this, name);
                        if(!data || options) {
                            $.data(this, name, new AppTabs(this, isMethod ? {} : options));
                            data = $.data(this, name);
                        }
                        if(isMethod) {
                            data.call(options, args);
                        }
                    });
                };
    
                // 自动调用
                $(window).on('load.app.' + name, function() {
                    $('[data-vendor="tabs"]').appTabs();
                });
    
            })(jQuery);
        </script>
    
    </html>
  • 相关阅读:
    为or、in平反——or、in到底能不能利用索引?
    【自然框架】稳定版beta1的Demo —— 四:角色管理。另外 在线演示 终于搞定了
    【自然框架】CMS之数据库设计
    【自然框架】——重开在线演示
    刘谦魔术的一个秘密 硬币穿越玻璃的那个。
    【自然框架】PowerDesigner 格式的元数据的表结构
    【自然框架】元数据的数据库结构的详细说明和示例(一):项目描述部分
    程序员与项目经理
    Android 中文API (70) —— BluetoothDevice[蓝牙]
    Android API 中文 (50) —— SpinnerAdapter
  • 原文地址:https://www.cnblogs.com/520yh/p/12552846.html
Copyright © 2011-2022 走看看