$( document ).ready( function(e){

var $catCont = $( ".cat-cont" );    //二级菜单div
    var $catList = $( ".J_Cat" );       //一级菜单li

$catList.on( "mouseenter", function(){

var index = $( this ).index();
        var $curCatList = $( ".cat-cont-bd>li:eq(" + index + ")" );         //鼠标移上去对应的二级菜单的li

$catList.removeClass( "selected selected-prev" );

$( this ).addClass( "selected" ).prev().addClass( "selected-prev" );

$catCont.show();

$curCatList.css( "display", "list-item").siblings().css( "display", "none" );

var viewHeight = $( window ).height();
        var catOffsetTop = $( this ).offset().top - $( window ).scrollTop();
        var catBottomGap = viewHeight - catOffsetTop;

var catPositionTop = $( this ).position().top;

var catContHeight = $catCont.height();

if( catBottomGap >= catContHeight ) {
            $catCont.css( "top", catPositionTop );
        }
        if( catBottomGap < catContHeight && viewHeight >= catContHeight ) {
            $catCont.css( "top", catPositionTop - ( catContHeight - catBottomGap ) - 20 );
        }
        if( catBottomGap < catContHeight && viewHeight < catContHeight ) {
            $catCont.css( "top", catPositionTop );
        }
        if( catBottomGap <= 66 ) {
            $catCont.css( "top", catPositionTop - catContHeight + 33 );
        }

}).on( "mouseleave", function( event ){
        if( !$( event.relatedTarget ).hasClass( "cat-cont-bd" ) ){    //交互灾难:离开一级菜单划不到二级菜单,如何知道离开一级菜单后进入的是二级菜单?jquery提供属性:event.relatedTarget(离开后进入的对象)
            $( this ).removeClass( "selected selected-prev" );
            $catCont.hide();
        }
    });

$catCont.on( "mouseleave", function(){
        $catCont.hide();
        $catList.removeClass( "selected selected-prev" );
    });
});

[Jquery]导航菜单效果-纵向的更多相关文章

  1. Smint – 用于单页网站制作的 jQuery 导航菜单插件

    Smint 是一款用于实现单页风格网站的 jQuery 导航插件,包含两部分:固定在页面顶部的精美导航条和能够在你点击的时候自动滚动到对应内容的菜单按钮.Smint 使用非常简单,只有一个参数用于设置 ...

  2. 十天学会<div+css>横向导航菜单和纵向导航菜单

    纵向导航菜单及二级弹出菜单 纵向导航菜单:一级菜单 <head><style type="text/css">body { font-family: Ver ...

  3. 分享14个很酷的jQuery导航菜单插件

    导航按钮是网站的非常重要的一部分,因其将网站的所有部分而集中一处,jQuery导航菜单插件在其中扮演重要的角色. 本文介绍了14个很酷的jQuery导航菜单插件,它们够漂亮.简单,并且完全兼容各种类型 ...

  4. 用jQuery制作仿网易云课堂导航菜单效果

    最近做项目,用到类似的效果. 效果图如下: 直接上代码: HTML: <!DOCTYPE html> <html lang="en"> <head&g ...

  5. 这个jQuery导航菜单怎么样

    效果体验:http://keleyi.com/keleyi/phtml/jqtexiao/39.htm HTML文件代码: <!DOCTYPE html> <html xmlns=& ...

  6. jQuery四叶草菜单效果,跟360杀毒软件差不多

    首先,我们要在js,css文件夹中创建js跟css,然后在body中写入html代码 <main><!--标签是 HTML 5 中的新标签. 素中的内容对于文档来说应当是唯一的.它不 ...

  7. 纯css实现二级导航菜单效果,通过简单的鼠标事件操作页面元素样式变换实现二级导航菜单的功能,非常简单实用,

    HTML代码如下 <!-- 头部导航栏开始--><div id="nav"><dl class="sy"><dt> ...

  8. jQuery导航菜单防刷新

    为了实现最主要的功能,只写了一个粗糙的案例 CSS样式 ul,li{ list-style-type:none;} .nav { width: 100%; height: 35px; line-hei ...

  9. 分享21个基于jquery菜单导航的效果

    jquery导航菜单插件制作jquery动画菜单熔岩灯菜单效果更新时间:02月15日 14:53:03 虾米精选-菜单导航-导航菜单 0浏览 / ★★★☆☆星级 / 未知软件大小/ jquery导航菜 ...

随机推荐

  1. Redis基础知识之————如何处理客户端连接

    redis 连接建立 Redis Redis 通过监听一个 TCP 端口或者 Unix socket 的方式来接收来自客户端的连接,当一个连接建立后,Redis 内部会进行以下一些操作: 首先,客户端 ...

  2. DBCP、C3P0、Proxool 、 BoneCP开源连接池的比《转》

     简介   使用评价  项目主页  DBCP DBCP是一个依赖Jakarta commons-pool对象池机制的数据库连接池.DBCP可以直接的在应用程序用使用 可以设置最大和最小连接,连接等待时 ...

  3. Android linearlayout常用布局

    用linearlayout完成这样的布局效果,这样的布局还是比较常用的,具体的xml代码如下: <LinearLayout xmlns:android="http://schemas. ...

  4. overflow:auto/hidden的应用

    一.自适应两栏布局 <!DOCTYPE html><html lang="zh-CN"><head> <meta charset=&quo ...

  5. openfire教程网

    http://myopenfire.com/article/articledir/1#

  6. 如何让JS的变量名变量化

    unction message() { var k=0; // var olk+k="sdasdasd"; eval("var olk"+k+"='a ...

  7. fibonacci 斐波那契数列

    1.小兔子繁殖问题  (有该问题的详细来由介绍) 2.台阶问题 题目:一个人上台阶可以一次上一个或者两个,问这个人上n层的台阶,一共有多少种走法. 递归的思路设计模型: i(台阶阶数)         ...

  8. tinyXml直接解析XML字符串

    一直都用tinyxml直接LoadFile来解析XML,发现原来也可以直接解析XML字符串. XML文件: <?xml version=\"1.0\" encoding=\& ...

  9. RAC 移动 OCR

    1.查看是否有OCR备份 # ocrconfig -showbackup 如果没有就备份一份 # ocrconfig -export /oracle/bak/ocr/ocr_11291433_exp. ...

  10. org.apache.hadoop.hbase.TableExistsException: hbase:namespace

    Problem is here : https://community.cloudera.com/t5/Storage-Random-Access-HDFS/HMaster-not-starting- ...