如何让JS做的下拉菜单浮在最上层

JavaScript016

如何让JS做的下拉菜单浮在最上层,第1张

JQuery实现将Div浮动到网页最上层。

可以通过Css的z-index属性来进行设置

具体代码:

1

$(".divClass").attr("z-index",999)

原理:

通过JQuery给指定的div增加属性'z-index'为'999',将指定div的层次拉到最高,这个所谓的999并不一定是999这个数字,只需要是你页面z-index的最大值就是可以的。

<!doctype html>

<html lang="en">

<head>

<meta charset="UTF-8" />

<title>Document</title>

<style type="text/css">

*{margin: 0padding: 0}

li{list-style: none}

.nav>li{float: leftmargin:10px}

.menu{display: none}

</style>

</head>

<body>

<ul class="nav">

<li>图站精选

<ul class="menu">

<li>是对是对</li>

<li>发生地方是</li>

<li>是对方式</li>

</ul>

</li>

<li >H绅士道

<ul class="menu">

<li>是对是对</li>

<li>是滴是滴</li>

<li>是对是对</li>

</ul>

</li>

</ul>

<script>

var navli=document.querySelectorAll('.nav>li')

var menu=document.querySelectorAll('.nav .menu')

navli.forEach(function(item,index){

item.onmouseenter=function(){

menu[index].style.display='block'

}

item.onmouseleave=function(){

setTimeout(function(){

menu[index].style.display='none'

},500)

}

})

</script>

</body>

</html>

首先看一下图示:

就像上面两张图中的悬浮提示信息,带有漂亮的箭头。

接下来我们分步骤的来讲解!

一、触发该浮动Tip的JS函数:showMenu()

static\js\common.js文件872行,就是这个函数的定义。这段函数你看不懂没关系,会使用就行了,下面我们来讲解如何使用。

二、showMenu()的使用方法:

上面降到的这个函数定义的JS文件,它在DZ的核心JS中,所以我们使用的时候不必重新载入文件,因为系统已经早帮你加载过了,所以直接使用就可以,但是前提条件是必须在DZ系统中,比如DZ的任何页面模版文件中,插件、单页的模版文件中等等(点击查看怎么制作Discuz!单页),超出DZ系统意外,就不能使用了。

首先,得明确,这个效果必须由两部分组成:

1、显示层(直接在模版中显示的内容,鼠标移动上去后触发该浮动层);

2、隐藏悬浮层(这个默认是隐藏的,不显示的,只有鼠标放在显示层上,才会触发显示)。

所以,我们分别建立两个组成部分。

效果如下图:

当鼠标放在文字上时,悬浮层激活,显示出来。

需要注意的是:

上面讲的是函数的基础功能,下面我们开始细化讲解,将悬浮美化,带箭头。

三、带箭头的悬浮Tip

看上面图片效果,也许弹出层的位置和箭头的位置并不是我们理想的位置,可以调节 <div id="test_menu" class="tip tip_4" style="display: none">和 <div class="tip_horn"></div>这两个层的CSS样式,左边加入距离就可以微调,比如:

看上面图片,悬浮弹出的位置是不是向左微移了一点,这里的margin-left:-100px就是说向左移动100像素

同理,箭头要向右移动,如下: <div class="tip_horn" style="margin-left:110px"></div>

如上图,箭头已经右移了110个像素。

另外,如果要修改弹出浮动层的宽度,高度,也可以在那个区域加入CSS,定义宽度,高度值。