• 用jquery做了个导航条的便捷功能


    公司主要还是做一些企业站,导航条是必不可少的,首页,关于我们,产品介绍。。。。 设计做的时候一般都有鼠标移上去变背景,有时候有个下拉菜单,公司以前的就是用javascript  每个导航上onmouseover   onmouseout,每个下拉上也是,为了减少开发量就做个jquery的小功能

    js代码

    View Code
     1 (function($){   
     2 $.fn.extend({   
     3                 MenuHoverLayerout1:function(opt,callback){
     4 
     5             var _obj=this;
     6             var _menuID=opt.menuID
     7             var _ArryWidth=opt.ArryWidth
     8             var _ArryLeft=opt.ArryLeft
     9             
    10             
    11             
    12             var i=1;
    13             $(_obj).each(function(){
    14                                   
    15                 //取得导航按钮宽度                    
    16                 var LiWidth=typeof(_ArryWidth[i-1])!='undefined'?_ArryWidth[i-1]:100;
    17                 
    18                 //漂浮居左距离
    19                 var absLeft=typeof(_ArryLeft[i-1])!='undefined'?_ArryLeft[i-1]:0;
    20                                  
    21                 $(this).css("text-align","left");//让漂浮层从居左 和 父元素对齐                
    22                 $(this).width(LiWidth);//导航按钮宽度赋值                
    23                 
    24                 var classname="BiakeCss_Li"+i;//鼠标划过时的样式
    25                 var classname1="BiakeCss_LiM"+i;//选中后 防止背景消失 再次加背景
    26                 
    27                 
    28                 
    29                 //对应栏目选中
    30                 if(_menuID==i)
    31                 {
    32                     $(this).addClass(classname);                    
    33                 }
    34                 
    35                 
    36                 //添加漂浮元素定位
    37                 var absolute_p="<div class=\"Parent_absolute\"><div class=\"Child_absolute\"></div></div>";                    
    38                 $(this).append(absolute_p)    
    39                 
    40                 $(this).find(".Child_absolute").width(LiWidth).css("left",absLeft);//设定漂浮层宽度和居左距离
    41                 
    42                 //漂浮层内容添加 从页面获取
    43                 var absContent=$("#Biake_Absolute #Biake_abs"+i);
    44                 $(absContent).appendTo($(this).find(".Child_absolute"));
    45                 
    46                 
    47     
    48                 $(this).hover(function(){
    49                     $(this).addClass(classname1);
    50                     $(this).find(".Child_absolute").show();
    51                 },function(){
    52                     $(this).removeClass(classname1);
    53                     $(this).find(".Child_absolute").hide();
    54                 })                
    55                 
    56                 i++;
    57             })
    58         }        
    59 })   
    60 })(jQuery);


    页面代码

    View Code
    <!--自定义导航-->
    <div class="Menu">
        <ul>
            <li><a href=""></a></li>
            <li><a href=""></a></li>
            <li><a href=""></a></li>
            <li><a href=""></a></li>
            <li><a href=""></a></li>
            <li><a href=""></a></li>
            <li><a href=""></a></li>
            <li><a href=""></a></li>
            <li><a href=""></a></li>
        </ul>
        <div id="Biake_Absolute">        
            <div id="Biake_abs2" class="Biake_Absolute"></div>
            <div id="Biake_abs3" class="Biake_Absolute"></div>
    
        </div>
    </div> 
    <script type="text/javascript">    
         $(".Menu li").MenuHoverLayerout1({
    
            menuID:2,//当前栏目ID
            ArryWidth:[95,106,105,105,104,108,107,105,108],//导航按钮宽度
            ArryLeft:[0,0,-20]//漂浮居左的距离,不写则默认为0
         
         });
    </script>

    js写法上有什么问题,欢迎大家指出~

  • 相关阅读:
    Poj 3287 Catch That Cow(BFS)
    Poj 1321 棋盘问题(搜索)
    Poj 2488 A Knight's Journey(搜索)
    解决ListView 缓存机制带来的显示不正常问题
    Poj 1631 Bridging signals(二分+DP 解 LIS)
    字符串相似度的几种衡量标准
    linux环回文件
    [转] CentOS---网络配置详解
    Dockerfile学习(二)
    Dockerfile学习(一)
  • 原文地址:https://www.cnblogs.com/BiakeChou/p/2480018.html
Copyright © 2020-2023  润新知