• 仿163邮箱工具条


    很久之前写的一个工具条插件,外观基本上仿的163邮箱的工具条,支持无限极伸展,自己测试了IE6/7/8、firefox、opera,暂时未发现问题。

    PS:第一次写博文,如有说的不明白的请见谅。有什么办法能把广告移位,他挡着代码了?

    源文件下载:demo

    效果预览:

     

    程序说明:

    【html】

    HTML Code
    <div class="btnGroup">
    <div class="gBtn gBtnL gSub">
         <span class="gbTxt"><img />一级菜单</span><span class="gsArrT"></span>
    <ul class="subs">
    <li><a href="#">二级菜单</a></li>
    <li class="liSubs">
             <a href="#">二级菜单</a><span class="gsArrS"></span>
    <ul>
    <li><a href="#"><img />三级菜单</a></li>
    <li><a href="#">三级菜单</a></li>
    <li class="liSubs">
                  <a href="#">三级菜单</a><span class="gsArrS"></span>
    <ul>
    <li><a href="#">四级菜单</a></li>
    <li><a href="#">四级菜单</a></li>
    <li><a href="#">四级菜单</a></li>
    </ul>
    </li>
    <li><a href="#">三级菜单</a></li>
    </ul>
    </li>
    <li><a href="#">二级菜单</a></li>
    </ul>
    </div>
    <div class="gBtn gBtnC"><span class="gbTxt"><img />一级菜单</span></div>
    <div class="gBtn gBtnC"><a href="#" class="gbTxt">一级菜单</a></div>
    <div class="gBtn gBtnR"><span class="gbTextBox"><input type="text" style="130px;" /></span></div>
    </div>

    【样式说明】

    btnGroup:工具组容器;

    gBtn:按钮通用样式;

    gBtnL:左端按钮样式;

    gBtnC:中间按钮样式;

    gBtnR:右端按钮样式;

    gbTxt:按钮文本样式;

    gSub:若有下级菜单,需添加此样式;

    gsArrT:顶级菜单箭头样式,若有二级菜单,需添加此样式;

    subs:二级菜单容器样式;

    liSubs:三级及其子菜单容器样式,同gSub;

    gsArrS:子菜单箭头样式,同gsArrT;

    gbTextBox:文本框容器样式,同gbTxt;

    【jQuery代码】

    这里js的作用主要是鼠标事件来替换各种状态样式。

    jQuery Code
    $(function(){
    /*------------------------*/
    $(
    ".gBtn").not(".gBtnL,.gBtnC,.gBtnR").hover(
    function(){

    $(
    this).addClass("gBtnHover");
    },
    function(){
    $(
    this).removeClass("gBtnHover");
    }
    ).not(
    ".gSub").mousedown(function(){
    $(
    this).addClass("gBtnDown");
    }).mouseup(
    function(){
    $(
    this).removeClass("gBtnDown");
    })
    /*--------------------*/
    $(
    ".gBtnL").hover(
    function(){
    $(
    this).addClass("gBtnLHover");
    },
    function(){
    $(
    this).removeClass("gBtnLHover");
    }
    ).not(
    ".gSub").mousedown(function(){
    $(
    this).addClass("gBtnLDown");
    }).mouseup(
    function(){
    $(
    this).removeClass("gBtnLDown");
    })
    /*--------------------*/
    $(
    ".gBtnC").hover(
    function(){
    $(
    this).addClass("gBtnCHover");
    },
    function(){
    $(
    this).removeClass("gBtnCHover");
    }
    ).not(
    ".gSub").mousedown(function(){
    $(
    this).addClass("gBtnCDown");
    }).mouseup(
    function(){
    $(
    this).removeClass("gBtnCDown");
    })
    /*--------------------*/
    $(
    ".gBtnR").hover(
    function(){
    $(
    this).addClass("gBtnRHover");
    },
    function(){
    $(
    this).removeClass("gBtnRHover");
    }
    ).not(
    ".gSub").mousedown(function(){
    $(
    this).addClass("gBtnRDown");
    }).mouseup(
    function(){
    $(
    this).removeClass("gBtnRDown");
    })
    /*-----------------------*/
    $(
    ".gSub .gbTxt,.gSub .gsArrT").click(function(){
    var btn=$(this).parent(".gSub");
    if(btn.hasClass("gBtnDown")||btn.hasClass("gBtnLDown")||btn.hasClass("gBtnCDown")||btn.hasClass("gBtnRDown")){
    btn.removeClass(
    "gBtnDown gBtnLDown gBtnCDown gBtnRDown");
    $(
    "body").unbind("click");
    }
    else{
    $(
    ".gSub").removeClass("gBtnDown gBtnLDown gBtnCDown gBtnRDown");

    if(btn.hasClass("gBtnL")){
    btn.addClass(
    "gBtnDown gBtnLDown");
    }
    else if(btn.hasClass("gBtnC")){
    btn.addClass(
    "gBtnDown gBtnCDown");
    }
    else if(btn.hasClass("gBtnR")){
    btn.addClass(
    "gBtnDown gBtnRDown");
    }
    else{
    btn.addClass(
    "gBtnDown");
    }
    $(
    "body").one("click",function(){
    btn.removeClass(
    "gBtnDown gBtnLDown gBtnCDown gBtnRDown");
    })
    return false;
    }
    })
    /*---------------------------------*/
    $(
    ".gSub .subs li").hover(
    function(){
    $(
    this).addClass("liHover").children("a").addClass("white").siblings(".gsArrS").addClass("gsArrSHover").siblings("ul").addClass("subHover");
    },
    function(){
    $(
    this).removeClass("liHover").children("a").removeClass("white").siblings(".gsArrS").removeClass("gsArrSHover").siblings("ul").removeClass("subHover");
    }
    )
    /*----------------------------------*/

    })
  • 相关阅读:
    异常 集中异步处理
    客户端获取服务端自定义类数据 z
    客户端使用自定义代理类访问WCF服务 z
    学习“要件审判九步法”,正确处理五个关系 z
    “要件审判九步法”具体步骤
    要件审判九步法及其基本价值 z
    WCF Windows Service Using TopShelf and ServiceModelEx z
    [ACM_数据结构] Color the ball [线段树水题][数组开大]
    [ACM_数据结构] HDU 1166 敌兵布阵 线段树 或 树状数组
    [ACM_数据结构] 线段树模板
  • 原文地址:https://www.cnblogs.com/lecaf/p/163toolbar.html
Copyright © 2020-2023  润新知