zoukankan      html  css  js  c++  java
  • iscoll制作顶部可以左右滑动的tab

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
        <meta name="format-detection" content="telephone=no" />
        <meta name="format-detection" content="email=no" />
        <meta name="keywords" content="xxx" />
        <meta name="description" content="xxx" />
        <title>xxx</title>
        <style>
            /*
    
             * 2016-10-14
             */
            /*全局*/
            html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline;outline:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;color:#000;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}
            body{line-height:1;font-family:Microsoft YaHei,Helvetica,Tahoma,Arial,5FAE8F6F96C59ED1,sans-serif}
            article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}
            ol,ul{list-style:none}
            blockquote,q{quotes:none}
            blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}
            strong{font-weight:bold}
            table{border-collapse:collapse;border-spacing:0}
            img{border:0}
            a{display:block;text-decoration:none}
            body{background:#fff;position: relative;}
            html,body{100%;overflow-x:hidden;}
            @media only screen and (max-640px){html,body{font-size:25px}}
            @media only screen and (max-540px){html,body{font-size:22.5px}}
            @media only screen and (max-480px){html,body{font-size:18.5px}}
            @media only screen and (max-400px){html,body{font-size:16.5px}}
            @media only screen and (max-360px){html,body{font-size:15px}}
            @media only screen and (max-320px){html,body{font-size:14px}}
            @media only screen and (max-240px){html,body{font-size:13.5px}}
    
            /*公共*/
            .hide{display:none}
            .c8420{color: #ff8420;}
    
            /*私有*/
    
            /*頂部tab*/
            .tab_box{text-align: center;background: #fff;border-bottom: 1px solid #ebebeb;height: 50px;padding-left: 15px;box-sizing: border-box;}
            .tab_box ul{ 1000px;}
            .tab_box ul li{color: #333;font-size: 16px;position: relative;float: left;text-align: center;height: 50px;110px;line-height: 50px;}
            .tab_box .under{position: absolute;border-bottom: 2px solid #ff8420; 80px;bottom: 0;left: 50%;margin-left: -40px;}
            .tab_box .last{margin-right: 0;}
            .tab_box .on{color: #ff8420;}
    
            /*内容*/
            .container{}
        </style>
    </head>
    <body>
        <!-- tab start -->
        <div class="tab_box" id="tab_box">
            <ul>
                <li data_name="aaaa">aaaa<span class="under"></span></li>
                <li data_name="bbbb">bbbb<span class="under hide"></span></li>
                <li data_name="cccc">cccc<span class="under hide"></span></li>
                <li data_name="dddd">dddd<span class="under hide"></span></li>
                <li data_name="eeee">eeee<span class="under hide"></span></li>
                <li data_name="ffff" class="last">ffff<span class="under hide"></span></li>
            </ul>
        </div>
        <!-- tab end -->
        <script src="http://valar.huainanhai.com/common/lib/zepto.1.1.3.js" type="text/javascript"></script>
        <script src="http://valar.huainanhai.com/common/lib/iscroll.5.0.js"></script>
        <script>
            // 2016/10/17
            var data_name = _get('data_name')?_get('data_name'):'';
            var myscroll = null;
            _init();
            //初始化
            function _init(){
                //修改nav的宽度
                setTabUlWidth();
                //加载iscoll
                tab_box_load();
                //首次加载
                if(data_name){
                    var obj = $('#tab_box ul li[data_name="'+data_name+'"]');
                    if(obj.length){
                        changeTab(obj);
                        //让tab滚动到指定tab
                        //将一个jQuery对象转换成DOM对象:[index]和.get(index); 
                        var offset_left = obj[0].offsetLeft;
                        myscroll.scrollTo(-offset_left+110,0);
                    }else{
                        changeTab($('#tab_box ul li').eq(0));
                    }
                }else{
                    changeTab($('#tab_box ul li').eq(0));
                }
            }
    
            // 设置tab ul的宽度
            function setTabUlWidth(){
                var tab_li_width = $('#tab_box li').width();
                var tab_li_num = $('#tab_box li').length;
                $('#tab_box ul').css('width',tab_li_num*tab_li_width+50);
            }
    
            //tab点击监听
            $('#tab_box ul li').on('click',function(){
                changeTab($(this));
            });
    
            //切换tab
            function changeTab(obj){
                $('#tab_box ul li').removeClass('on');
                $('#tab_box ul li span').hide();
                obj.addClass('on');
                obj.children('.under').show();
                data_name = obj.attr('data_name');
            }
    
            //加载iscoll
            function tab_box_load(){
                myscroll = new iScroll("tab_box",{
                    snap: false,
                    momentum: true,
                    vScroll: false,
                    hScroll: true,
                    hScrollbar: false,
                });
            }
    
            // 获取get参数
            function _get(name){
                //正则解释
                // ()表示一个子表达式 1.在被修饰匹配次数的时候,括号中的表达式可以作为整体被修饰2.取匹配结果的时候,括号中的表达式匹配到的内容可以被单独得到
                // (^|&) 匹配字符串开头或者&字符
                // ([^&]*) 匹配除了&之外的字符0次或多次 相当于 {0,}
                // (&|$) 匹配字符串结尾或者&字符
                // match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。
                var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
                var data = window.location.search.substr(1).match(reg);
                return data!=null?decodeURIComponent(data[2]):null;
            }
        </script>
    </body>
    </html>
    

      

  • 相关阅读:
    使用Ansible安装部署nginx+php+mysql之安装php(2)
    使用Ansible安装部署nginx+php+mysql之安装nginx(1)
    Ansible常见问题处理
    4.2、Ansible常用模块
    3.2、Ansible单命令测试
    2、Ansible配置文件详解
    4.1、Ansible模块
    3.3、Ansible命令参数详解
    3.1、Ansible命令简要说明及初步使用
    1、Ansible初识简要介绍及安装
  • 原文地址:https://www.cnblogs.com/lzs-888/p/5969433.html
Copyright © 2011-2022 走看看