jQuery京东分类导航菜单

		$('.all-sort-list > .item').hover(function(){
			var eq = $('.all-sort-list > .item').index(this),		//获取当前滑过是第几个元素
				h = $('.all-sort-list').offset().top,			//获取父菜单距离窗口多少像素 120px
				s = $(window).scrollTop(),				//获取浏览器滚动了多少高度
				i = $(this).offset().top,				//当前鼠标滑过元素距离窗口多少像素
				item = $(this).children('.item-list').height(),		//下拉菜单子类内容容器的高度
				sort = $('.all-sort-list').height();			//父类分类列表容器的高度
			
			if ( item < sort ){						//如果子类的高度小于父类的高度
				if ( eq == 0 ){
					$(this).children('.item-list').css('top', (i-h));
				} else {
					$(this).children('.item-list').css('top', (i-h)+1);					
				}
			} else {
				if ( s > h ) {		//判断子类的显示位置,如果滚动的高度大于所有分类列表容器的高度
					if ( i-s > 0 ){	//则 继续判断当前滑过容器的位置 是否有一半超出窗口一半在窗口内显示的Bug,
						$(this).children('.item-list').css('top', s-h);
					} else {
						$(this).children('.item-list').css('top', (s-h)-(-(i-s))+2 );
					}
				} else {
					$(this).children('.item-list').css('top', 0 );
				}
			}	

			$(this).addClass('hover');
			$(this).children('.item-list').css('display','block');
		},function(){
			$(this).removeClass('hover');
			$(this).children('.item-list').css('display','none');
		});

		$('.item > .item-list > .close').click(function(){
			$(this).parent().parent().removeClass('hover');
			$(this).parent().hide();
		});

猜你喜欢

转载自blog.csdn.net/tangtang5963/article/details/47297369
今日推荐