[Jquery]导航菜单效果-纵向

$( 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]导航菜单效果-纵向

时间: 2024-08-07 17:45:22

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

很酷的伸缩导航菜单效果,可自定义样式和菜单项。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Typ

jQuery 滑动菜单效果

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <style> *{ padding:0; margin:0; } ul,li{ list-style:none; } .nav{ height:30px; background:rg

IBM官网的JS+CSS的导航菜单效果

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

使用css3实现立体导航菜单效果

CSS3代码练习 导航html结构部分 1 <body> 2 <ul class="nav"> 3 <li><a href="#">Home</a></li> 4 <li><a href="#">Home</a></li> 5 <li><a href="#">Home</a>

原生实现导航菜单效果

<!doctype html> <html lang="zh"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"

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

最近做项目,用到类似的效果. 效果图如下: 直接上代码: HTML: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> <link rel="stylesheet" href="./css/index.css"> <script s

这个jQuery导航菜单怎么样

效果体验:http://keleyi.com/keleyi/phtml/jqtexiao/39.htm HTML文件代码: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>jQuery鼠标悬停上下滑动导航条 - 柯乐义</title><base target="_blank" /> <lin

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

HTML代码如下 <!-- 头部导航栏开始--><div id="nav"><dl class="sy"><dt><a class="first" href="#" >首页</a></dt><dd class="line">|</dd><dd class="triangle"

jquery实现的点击可以展开折叠的垂直导航菜单

jquery实现的点击可以展开折叠的垂直导航菜单:本章节介绍一种比较常见的导航菜单是如何实现的,它具有垂直结构,点击导航主标题可以展开或者折叠二级菜单.代码实例如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" />