原生js实现下拉菜单

简单给两段代码:

html和css部分:

<style>        .one li{ width:100px; height:30px; line-height:30px; background:url(nav/libg.jpg) no-repeat; float:left; text-align:center; margin-left:10px; cursor:pointer; _display:inline; position:relative;}        li ul{ position:absolute; left:0; top:30px; display:none;}</style><ul class="one">
        <li id="li01">
            <span>一级菜单</span>
            <ul id="ul01">
                <li>二级菜单</li>
                <li>二级菜单</li>
                <li>二级菜单</li>
            </ul>
        </li>
        <li id="li02">
            <span>一级菜单</span>
            <ul id="ul02">
                <li>二级菜单</li>
                <li>二级菜单</li>
                <li>二级菜单</li>
            </ul>
        </li>
        <li id="li03">
            <span>一级菜单</span>
            <ul id="ul03">
                <li>二级菜单</li>
                <li>二级菜单</li>
                <li>二级菜单</li>
            </ul>
        </li>
    </ul>

javascript部分:

function fn(canshu1,canshu2){
    var li01 = document.getElementById(canshu1);
    var ul01 = document.getElementById(canshu2);

    li01.onmouseover = function(){
        ul01.style.display = "block"
    }
    li01.onmouseout = function(){
        ul01.style.display = "none"
    }
}fn("li01","ul01")    fn("li02","ul02")    fn("li03","ul03")    

亮个效果图:

时间: 2024-11-07 21:33:42

原生js实现下拉菜单的相关文章

纯css和js版下拉菜单

<!doctype html> <html> <head> <meta charset="utf-8"> <title>css版下拉菜单</title> <style type="text/css"> div,body,ul,li{padding:0;margin:0; list-style:none;} .all{width:550px; height:30px; backgrou

用JS控制下拉菜单效果

今天,突然想复习下之前学习做导航菜单的一些知识.之后觉得下拉菜单非常好玩儿,于是自己试着用JS调出了效果.网上有众多方法,但是感觉不是很对我的胃口,我喜欢HTML/CSS/JavaScript分离着写,用户体验重要,码农审美也很重要啊,O(∩_∩)O~ 在做下拉菜单的过程中,有以下心得: 1.this是个好东西,比如在鼠标事件中,它代表此时的鼠标事件对象本身,免去去用其他方式代表改对象的麻烦: 2.getElementsByTagName或者getElementById方法获得的是一个数组,需要

JS实现下拉菜单效果

1 <!doctype html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>下拉菜单</title> 6 <style type="text/css"> 7 body,ul,li{ 8 margin:0; 9 padding:0; 10 font-size:13px; 11 } 1

JS自定义下拉菜单select

由于系统自定的select样式的确丑到爆,所以抽空写了这么一个可以自定义下拉菜单样式的插件, 思路就是隐藏select,用一个span标签显示内容,ul标签显示下拉列表,如图: IE下存在一个BUG,设置overflow-y后,IE下设置width无效,只测试了IE9,其他版本未测试,当然如果能加入自定义样式的滚动条就完美了,时间关系以后再补吧 代码如下: 1 //自定义dropdownlist的样式, 2 //classname为模拟出来的span标签样式 3 //ulClass为下拉列表样式

bootstrap和JS实现下拉菜单

// bootstrap下拉菜单 <div class="btn-group"> <button id="button_text" type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="fa

js模拟下拉菜单-键盘、鼠标(代码详解)

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" con

js二级下拉菜单

看似简单的一个菜单,确需要不少的知识点 1. getByClass getElementsByClassName 已经有大部分现代浏览器支持了,只有ie6,ie7,ie8是不支持的.所以对ie6,7,8做特别的处理就行,而ie里边有个内置的属性一直被我们所忽略,document.all,这个比一般的document.getElementsByTagName('*')或许要快一点.2. setTimeout 的巧妙用法. 当鼠标离开某个区域时,延时隐藏另外一个区域,而到另外一个区域是清除这个定时器

js实现下拉菜单

html代码如下: <header> <img src="../img/logoo.png" alt="图标"> <ul id="menu"> <li id="menuli" class="active"><a href="#">课程学习</a>    <ul class="sub_menu"

js导航下拉菜单

使用定时器.鼠标移动事件 var img = $('#user_head'); var menu = $('.nav_list'); var i=0; var timer; img.mouseenter(function () { clearTimeout(timer) menu.show() }) img.mouseleave(function () { timer = window.setTimeout(function () { menu.hide() },500) }) menu.mou