本文介绍如何使用JavaScript实现类似Excel的表格交互效果。通过监听输入框的focus和blur事件,动态切换CSS类名以显示或隐藏边框,实现点击输入时显示边框、点击外部失去焦点的功能。
JavaScript实现仿Excel表格交互效果
本文分享了一段使用JavaScript实现类似Excel表格交互效果的完整代码,供读者参考学习。
主要功能实现
一、主要功能实现:
1. 列表项展示 2. 当用户输入内容时,输入框显示边框 3. 鼠标点击文本框以外的区域时,输入框失去焦点
HTML结构与CSS样式
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>仿Excell表格</title>
<style type="text/css">
*{
margin: 0;
padding: 0;
}
.plist{
width: 800px;
margin: 100px auto;
border: 1px solid #aaa;
border-collapse: collapse;
}
.plist caption{
font: 700 20px/28px "微软雅黑";
padding: 10px;
}
.plist th,.plist td{
width: 120px;
line-height: 20px;
font-size: 14px;
font-family: "微软雅黑";
border: 1px solid #aaa;
text-align: center;
padding: 4px;
}
.plist td{
padding: 0;
}
.plist tr.headline{
background-color: #379;
}
.plist td input{
height: 24px;
text-align: left;
border: none;
outline-style: none;
font-size: 14px;
border: 2px solid #fff;
}
.plist .alt{ /*设置鼠标点击时出现的框*/
border: 2px solid #222;
}
</style>
</head>
<body>
<table id="price" class="plist">
<caption>2016电脑配件价格清单</caption>
<tr class="headline"><th>配件</th><th>第一季度</th><th>第二季度</th><th>第三季度</th><th>第四季度</th></tr>
<tr>
<th>CPU</th>
<td><input type="text" /></td>
<td><input type="text" /></td>
<td><input type="text" /></td>
<td><input type="text" /></td>
</tr>
<tr>
<th>hard disc</th>
<td><input type="text" /></td>
<td><input type="text" /></td>
<td><input type="text" /></td>
<td><input type="text" /></td>
</tr>
<tr>
<th>main bord</th>
<td><input type="text" /></td>
<td><input type="text" /></td>
<td><input type="text" /></td>
<td><input type="text" /></td>
</tr>
<tr>
<th>memory</th>
<td><input type="text" /></td>
<td><input type="text" /></td>
<td><input type="text" /></td>
<td><input type="text" /></td>
</tr>
<tr>
<th>mouse</th>
<td><input type="text" /></td>
<td><input type="text" /></td>
<td><input type="text" /></td>
<td><input type="text" /></td>
</tr>
</table>
</body>
</html>
以下提供用于生成表格的CSS样式表及HTML结构,随后是具体的JavaScript实现代码。
JavaScript交互逻辑
<script>
window.onload = function (){
var Tab = document.getElementById('price');
var Inputs = Tab.getElementsByTagName('input');
for(var i=0; i<Inputs.length;i++){
Inputs[i].onfocus = function (){
this.className = 'alt';
}
Inputs[i].onblur = function (){
this.className = '';
}
}
}
</script>
样式定义如下:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。