本文目录

二级菜单的实现方法

🌙
手机阅读
本文目录结构

CSS用hover来实现;javascript用事件委托来实现(观察者模式);

.nav li:hover ul{
display: block;
width: 100px;
/*如果不写宽度,就会水平排列*/
padding: 0;
}
.nav li:hover ul li ul{
display: none;
/*隐藏三级菜单的*/
}

JS的写法如下;

var tool = new Tool;
var oDiv2 = document.getElementById("div2");
document.onmouseover = function (e) {
    e = e || window.event;//处理事件兼容性;
var tar = e.target || e.srcElement;//事件源;
var xiaomi = tar.getAttribute("xiaomi");//监听的对象;
var ch = tool.getCss("height", oDiv2);
if (xiaomi === "true") {//以属性来判断;
if (ch <= 200) {
move.call(oDiv2, 200)
        }
    } else {
if (ch > 0) {
move.call(oDiv2, 0)
        }

    }
};
function move(target) {
var that = this;
_move();
function _move() {
var start = tool.getCss("height", that);//要在内部,不能写在外面
clearTimeout(that.timer);
that.timer = setTimeout(_move, 10);
if (start >= target) {
tool.setCss(that, "height", start - 10);
if (start - 10 < target) {
tool.setCss(that, "height", target);
return;
            }
        } else if (start < target) {
tool.setCss(that,"height", start + 10);
if (start + 10 >= target) {
tool.setCss(that, "height", target);
return;
            }
        } else {
return;
        }
    }
}

更多面试题

如果你想了解更多的前端面试题,可以查看本站的WEB前端面试题 ,这里基本包涵了市场上的所有前端方面的面试题,也有一些大公司的面试图,可以让你面试更加顺利。

面试题
HTML CSS JavaScript
jQuery Vue.js React
算法 HTTP Babel
BootStrap Electron Gulp
Node.js 前端经验相关 前端综合
Webpack 微信小程序 -

这些题库还在更新中,如果你有不错的面试题库欢迎分享给我,我整理后放上来;人人为我,我为人人,互帮互助,共同提高,祝大家都拿到心仪的Offer!

AXIHE / 精选资源

浏览全部教程

面试题

学习网站

前端培训
自己甄别

前端书籍

关于朱安邦

我叫 朱安邦,阿西河的站长,在杭州。

以前是一名平面设计师,后来开始接接触前端开发,主要研究前端技术中的JS方向。

业余时间我喜欢分享和交流自己的技术,欢迎大家关注我的 Bilibili

关注我: Github / 知乎

于2021年离开前端领域,目前重心放在研究区块链上面了

我叫朱安邦,阿西河的站长

目前在杭州从事区块链周边的开发工作,机械专业,以前从事平面设计工作。

2014年底脱产在老家自学6个月的前端技术,自学期间几乎从未出过家门,最终找到了满意的前端工作。更多>

于2021年离开前端领域,目前从事区块链方面工作了