<!doctype html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta charset="UTF-8" />
<style type="text/css">
#menu,#menu ul {
margin: 0;
padding: 0;
list-style-type: none;
}
#menu:after {
content:"";
display: block;
clear: both;
}
#menu>li {
position: relative;
width: 300px;
height: 20px;
float: left;
background-color: #9ff;
transition: background-color 300ms;
}
#menu>li:hover {
background-color: #9cf;
}
#menu>li>ul {
position: absolute;
top: 100%;
left: 0;
background-color: #cff;
display: none;
}
#menu>li:hover>ul {
display: block;
}
#menu>li li:hover {
background-color: #99f;
}
</style>
</head>
<body>
<ul id="menu">
<li>菜单1
<ul>
<li>子菜单1-1</li>
<li>子菜单1-2</li>
<li>子菜单1-3</li>
<li>子菜单1-3</li>
</ul>
</li>
<li>菜单1
<ul>
<li>子菜单1-1</li>
<li>子菜单1-2</li>
<li>子菜单1-3</li>
<li>子菜单1-3</li>
</ul>
</li>
<li>菜单1
<ul>
<li>子菜单1-1</li>
<li>子菜单1-2</li>
<li>子菜单1-3</li>
<li>子菜单1-3</li>
</ul>
</li>
<li>菜单1
<ul>
<li>子菜单1-1</li>
<li>子菜单1-2</li>
<li>子菜单1-3</li>
<li>子菜单1-3</li>
</ul>
</li>
<li>菜单2
<ul>
<li>子菜单2-1</li>
<li>子菜单2-2</li>
<li>bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbg</li>
</ul>
</li>
<li>菜单3
<ul>
<li>111111111111111111111111111111zbbbbbbzzzzzzzzzzza</li>
<li>子菜单3-2</li>
<li>子菜单3-3</li>
</ul>
</li>
</ul>
<script type="text/javascript">
var dr = document.querySelectorAll("#menu>li");
for (var i = 0; i < dr.length; i++) {
dr[i].addEventListener("mouseenter", function (e) {
var ul = this.querySelector("ul");
ul.style.left = "0px";
ul.style.right = "auto";
var er = ul.getBoundingClientRect().right;
var ww = window.innerWidth;
if (er > ww) {
ul.style.right = "0px";
ul.style.left = "auto";
}
}, false);
}
</script>
</body>
</html>