JS事件
HTML DOM 使 JavaScript 有能力对 HTML 事件做出反应。
对事件做出反应
我们可以在事件发生时执行 JavaScript,比如当用户在 HTML 元素上点击时。
如需在用户点击某个元素时执行代码,请向一个 HTML 事件属性添加
HTML 事件的例子:
- 当用户点击鼠标时
- 当网页已加载时
- 当图像已加载时
- 当鼠标移动到元素上时
- 当输入字段被改变时
- 当提交 HTML 表单时
- 当用户触发按键时
onload 和 onunload 事件
onload 和 onunload 事件会在用户进入或离开页面时被触发。
onload 事件可用于检测访问者的浏览器类型和浏览器版本,并基于这些信息来加载网页的正确版本。
onload 和 onunload 事件可用于处理 cookie。
onchange 事件
onchange 事件常结合对输入字段的验证来使用。
onmouseover 和 onmouseout 事件
onmouseover 和 onmouseout 事件可用于在用户的鼠标移至 HTML 元素上方或移出元素时触发函数。
onmousedown、onmouseup 以及 onclick 事件
onmousedown, onmouseup 以及 onclick 构成了鼠标点击事件的所有部分。首先当点击鼠标按钮时,会触发 onmousedown 事件,当释放鼠标按钮时,会触发 onmouseup 事件,最后,当完成鼠标点击时,会触发 onclick 事件。
实例:当鼠标划过每一个标签,下面部分切换到对应的内容

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Tabbar</title>
<link rel="stylesheet" href="css/index.css">
<script src="js/index.js"></script>
</head>
<body>
<div id="main">
<div id="tab-bar">
<ul>
<li class="selected">公告</li>
<li>规则</li>
<li>论坛</li>
<li>安全</li>
<li>公益</li>
</ul>
</div>
<div id="content">
<div class="content-list" style="display: block">
<ul>
<li><a href="#">数据七夕:金牛爱送玫瑰</a></li>
<li><a href="#">阿里打造"互联网监管"</a></li>
<li><a href="#">10万家店60万新品</a></li>
<li><a href="#">全球最大网上时装周</a></li>
</ul>
</div>
<div class="content-list" style="display: none">
<ul>
<li><a href="#">“全额返现”要管控啦</a></li>
<li><a href="#">淘宝新规发布汇总(7月)</a></li>
<li><a href="#">炒信规则调整意见反馈</a></li>
<li><a href="#">质量相关规则近期变更</a></li>
</ul>
</div>
<div class="content-list" style="display: none">
<ul>
<li><a href="#">阿里建商家全链路服务</a></li>
<li><a href="#">个性化的消费时代来临</a></li>
<li><a href="#">跨境贸易是中小企业机</a></li>
<li><a href="#">美妆行业虚假信息管控</a></li>
</ul>
</div>
<div class="content-list" style="display: none">
<ul>
<li><a href="#">接次文件,毁了一家店</a></li>
<li><a href="#">账号安全神器阿里钱盾</a></li>
<li><a href="#">新版阿里110上线了</a></li>
<li><a href="#">卖家学违禁避免被处罚</a></li>
</ul>
</div>
<div class="content-list" style="display: none">
<ul>
<li><a href="#">为了公益high起来</a></li>
<li><a href="#">魔豆妈妈在线申请</a></li>
</ul>
</div>
</div>
</div>
</body>
</html>
css
a {
text-decoration: none;
color: #000000;
font-size: 14px;
}
ul {
margin: 0;
padding: 0;
list-style: none;
}
#main {
margin: 30px;
width: 497px;
height:120px;
border: #dddddd 1px solid;
}
#main #tab-bar {
width: 100%;
height: 30px;
line-height: 30px;
background-color: #e8e8e8;
overflow: hidden;
text-align: center;
}
#main #tab-bar ul {
width: 500px;
}
#main #tab-bar ul li {
width: 99px;
height: 29px;
float: left;
padding: 0 1px;
margin-left: -1px;
border-bottom: 1px solid #dddddd;
}
#main #tab-bar ul .selected {
height: 30px;
border-left: 1px solid #dddddd;
border-right: 1px solid #dddddd;
border-bottom: none;
padding: 0;
color: #ff0000;
background-color: white;
}
#main #content .content-list {
padding: 30px 40px;
}
#main #content .content-list ul li{
list-style: none;
}
#main #content .content-list ul li a{
float: left;
width: 200px;
margin: 0;
text-align: center;
}
js
function $(id) {
return typeof id === 'string' ? document.getElementById(id) : id;
}
window.onload = function () {
var menus = $('tab-bar').getElementsByTagName('li');
console.log(menus);
var selectedMenu = menus[0];
var contents = $('content').getElementsByClassName('content-list');
console.log(contents);
var selectedContent = contents[0];
if(menus.length !== contents.length) return;
for(var i in menus) {
var menu = menus[i];
console.log(menu);
menu.id = i;
menu.onmouseover = function () {
selectedMenu.className = 'none';
selectedContent.style.display = 'none';
this.className = 'selected';
contents[this.id].style.display = 'block';
selectedMenu = this;
selectedContent = contents[this.id];
}
}
};