zoukankan      html  css  js  c++  java
  • 下拉导航菜单

    今天学习了这个新的方法,做个笔记,毕竟自己前后端都涉猎但是都不精,做个笔记便于查看:

    功能:鼠标悬浮时菜单显示一级菜单,鼠标点击IM消息时,本身这个IM消息的a标签变色,而且它的父级a标签页同时变色,

    其实对于码农来说变不变色没关系只要功能可以就行了,但是对于一个产品来说,产品人员会以客观的引导性进行对用户的指导,

    所以这个是必须的。下面说说主要的实现思路:因为之前也是没做过,所以学习了一下:

    <li class="switch-locale-wrap">
            <div class="dropdown switch-locale">
                <a href="../product/" id="product" class="dropdown-toggle zh" data-toggle=" " style="color: rgb(52, 162, 240);">产品</a>
                <ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
                    <li class="left_menu_title">
                        <div href="">
                            <div style="float:left;margin-left:16px;color:#A6A29D;margin-top:12px;margin-bottom:3px;font-size:14px;cursor:default">产品</div>
                            <div style="clear:both;"></div>
                        </div>
                    </li>
                    <li class="left_menu_detail" value="1">
                        <a href="../product/#audio">
                            <div style="float: left;">
                                <div class="audio"></div>
                            </div>
                            <div style="float: left; color: rgb(52, 162, 240);" id="audio_talk" class="left_menu">语音通话</div>
                            <div style="clear:both;"></div>
                        </a>
                    </li>
    
                    <li class="left_menu_detail" value="2">
                        <a href="../product/#video">
                            <div style="float: left;">
                                <div class="video"></div>
                            </div>
                            <div style="float:left;" id="video_talk" class="left_menu">视频通话</div>
                            <div style="clear:both;"></div>
                        </a>
                    </li>
    
                    <li class="left_menu_detail" value="3">
                        <a href="../product/#im">
                            <div style="float: left;">
                                <div class="im"></div>
                            </div>
                            <div style="float:left;" id="im_message" class="left_menu">IM 消息</div>
                            <div style="clear:both;"></div>
                        </a>
                    </li>
    
                    <li class="left_menu_detail" value="4">
                        <a href="../product/#live">
                            <div style="float: left;">
                                <div class="live"></div>
                            </div>
                            <div style="float:left;" id="live_telecast" class="left_menu">互动直播</div>
                            <div style="clear:both;"></div>
                        </a>
                    </li>
    
                    <li class="left_menu_detail" value="5">
                        <a href="../product/#conference">
                            <div style="float: left;">
                                <div class="conference"></div>
                            </div>
                            <div style="float:left;" id="meeting" class="left_menu">会议</div>
                            <div style="clear:both;"></div>
                        </a>
                    </li>
                </ul>
            </div>
        </li>
    //首页顶部蓝条
    var url = this.location.href;
    
    url = url.split('/')
    
    var a = url[url.length-1];
    var b = url[url.length-2]
    var detail = (b+'/'+a);
    // console.log(detail);
    
    switch(detail){
        case 'product/':
        $('#product').css('color','#34a2f0');
        break;
    
        case 'scenario/e-learning.php':
        $('#e-learning').css('color','#34a2f0');
        $('#product').css('color','#34a2f0');
        break;
    
        case 'scenario/mhealth.php':
        $('#product').css('color','#34a2f0');
        $('#mhealth').css('color','#34a2f0');
        break;
    
        case 'scenario/social_im.php':
        $('#product').css('color','#34a2f0');
        
        $('#social_im').css('color','#34a2f0');
        break;
    
        case 'scenario/o2o.php':
        $('#product').css('color','#34a2f0');
    
        $('#o2o').css('color','#34a2f0');
        break;
    
        case 'solution/e-learning.php':
        $('#e-learning-cloud').css('color','#34a2f0');
        break;
    
        case 'price/':
        $('#price').css('color','#34a2f0');
        break;
    
        case 'download/':
        $('#download').css('color','#34a2f0');
        break;
    
        case 'product/#audio':
        $('#audio_talk').css('color','#34a2f0');
        $('#product').css('color','#34a2f0');
        break;
    
        case 'product/#video':
        $('#video_talk').css('color','#34a2f0');
        $('#product').css('color','#34a2f0');
        break;
        case 'product/#im':
        $('#im_message').css('color','#34a2f0');
        $('#product').css('color','#34a2f0');
        break;
    
        case 'product/#live':
        $('#live_telecast').css('color','#34a2f0');
        $('#product').css('color','#34a2f0');
        break;
    
        case 'product/#conference':
        $('#meeting').css('color','#34a2f0');
        $('#product').css('color','#34a2f0');
        break;
        case 'stories/':
        $('#case').css('color','#34a2f0');
        break;
    }
    
    //点击产品左边menu本页面不刷新 导航按钮变色
    $('.left_menu_detail').click(function(){
        var val = $(this).val();
        // console.log(val);
    
        
        switch(val){
            case 1:
            $('.left_menu').css('color','#383838');
            $('#audio_talk').css('color','#34a2f0');
            $('#product').css('color','#34a2f0');
            break;
            case 2:
            $('.left_menu').css('color','#383838');
            $('#video_talk').css('color','#34a2f0');
            $('#product').css('color','#34a2f0');
            break;
            case 3:
            $('.left_menu').css('color','#383838');
    
            $('#im_message').css('color','#34a2f0');
            $('#product').css('color','#34a2f0');
            break;
            case 4:
            $('.left_menu').css('color','#383838');
    
            $('#live_telecast').css('color','#34a2f0');
            $('#product').css('color','#34a2f0');
            break;
            case 5:
            $('.left_menu').css('color','#383838');
    
            $('#meeting').css('color','#34a2f0');
            $('#product').css('color','#34a2f0');
            break;
        }
    })

    源网站:  http://www.justalkcloud.com/

    其实以上面的代码大家就明白,其实我们可以根据我们的URL来判断是那个导航下的一级菜单,这样我们对每个主导航加上id,

    对应访问的路径判断当前url下的哪个主导航需要变色;同时还可以实现当前页面不刷新,变更主导航a标签的颜色;

    对于带有导航分类的页面来说如果这样实现变色的话,把每个导航都分别放在一个文件加下这样我们对于路径(URL就会更好处理)

    比如MVC中,产品这个主导航我们可以建一个ProductController 那么我们产品下面的每个页面都放在这个ProductController 下面

    那么所有的访问路径都是www.sss.com/ProductController/Index 或者www.sss.com/ProductController/IM等等那么我们就可以直接

    获取URL中的ProductController,只要是ProductController我们就可以判断是产品主导航下的页面,即我们就可以给其改变颜色。

  • 相关阅读:
    linux 安装python3
    phoenix 索引实践
    spark shuffle参数调优
    hbase 面试问题汇总
    sqlserver 自动初始化从节点数据
    hive sql 窗口函数
    数据仓库建模
    Spark DataFrame简介(二)
    list删除时java.util.ConcurrentModificationException
    mybatis中判断等于字符串的条件怎么写
  • 原文地址:https://www.cnblogs.com/myloveblogs/p/6004473.html
Copyright © 2011-2022 走看看