JS开发页面小组件:table组件
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<style>
table{
border: solid 1px black;
}
#container td{
border: solid 1px black;
}
</style>
</head>
<body>
<form>
<table>
<tr>
<td><label for="width">宽:</label></td>
<td><input type="number" id="width" min="1" max="500" ></td>
</tr>
<tr>
<td><label for="height">高:</label></td>
<td><input type="number" id="height" min="1" max="500" step="1"></td>
</tr>
<tr>
<td><label for="row">行:</label></td>
<td><input type="number" id="row" min="1" max="10" step="1"></td>
</tr>
<tr>
<td><label for="col">列:</label></td>
<td><input type="number" id="col" min="1" max="10" step="1"></td>
</tr>
<tr>
<td><label for="radio-btn">单选按钮:</label></td>
<td><input type="checkbox" id="radio-btn"></td>
</tr>
<tr>
<td><input type="button" id="submit" value="提交"></td>
</tr>
</table>
</form>
<div id="container"></div>
<script>
(function (){
// 事件响应兼容浏览器差异
function addEvent(ele,type,func){
if(ele.addEventListener){
ele.addEventListener(type,func);
}else if(ele.attachEvent){
ele.attachEvent("on"+type,func);
}else {
ele["on"+type]=func;
}
}
function $(id){
return document.getElementById(id);
}
var widthInput=$('width');
var rowInput=$('row');
var colInput=$('col');
var heightInput=$('height');
var radioInput=$('radio-btn');
var submit=$('submit');
var container=$('container');
addEvent(submit,'click',addTable);
var arr=[' 宽度请输入1到500之间的数字','高度请输入1到500之间的数字','行数请输入1到10之间的数字',
'列数请输入1到10之间的数字']; function addTable(){
var width=parseInt(getWidth());
var height=parseInt(getHeight());
var row=parseInt(getRow());
var col=parseInt(getCol());
var radio=getRadio();
if(isNaN(width)||width<1||width>500){alert(arr[0]);return;}
if(isNaN(height)||height<1||height>500){alert(arr[1]);return;}
if(isNaN(row)||row<1||row>10){alert(arr[2]);return;}
if(isNaN(col)||col<1||col>10){alert(arr[3]);return;} var res="<table width='"+width+"px' height='"+height+"px'>"+addTableCol(row,col,radio)+"</table>";
container.innerHTML=res; }
//添加列
function addTableCol(row,col,radio){
var res="";
for(var i=0;i<col;i++){
res+="<tr>"+addTableRow(row,radio)+"</tr>"
}
console.log(2,res);
return res;
}
//添加行
function addTableRow(row,radio) {
var res="";
if(radio){
res+="<td><input type='radio'></td>"
}
for(var i=0;i<row;i++){
res+="<td>1</td>";
}
console.log(3,res);
return res;
} function getWidth(){
return widthInput.value.trim();
}
function getHeight(){
return heightInput.value.trim();
}
function getRow(){
return rowInput.value.trim();
}
function getCol(){
return colInput.value.trim();
}
function getRadio(){
return radioInput.checked;
}
})();
</script>
</body>
</html>
JS开发页面小组件:table组件的更多相关文章
- 用Vue.js开发微信小程序:开源框架mpvue解析
前言 mpvue 是一款使用 Vue.js 开发微信小程序的前端框架.使用此框架,开发者将得到完整的 Vue.js 开发体验,同时为 H5 和小程序提供了代码复用的能力.如果想将 H5 项目改造为小程 ...
- MPVUE - 使用vue.js开发微信小程序
MPVUE - 使用vue.js开发微信小程序 什么是mpvue? mpvue 是美团点评前端团队开源的一款使用 Vue.js 开发微信小程序的前端框架.框架提供了完整的 Vue.js 开发体验,开发 ...
- 【转】利用 three.js 开发微信小游戏的尝试
前言 这是一次利用 three.js 开发微信小游戏的尝试,并不能算作是教程,只能算是一篇笔记吧. 微信 WeChat 6.6.1 开始引入了微信小游戏,初期上线了一批质量相当不错的小游戏.我在查阅各 ...
- 从微信小程序到鸿蒙js开发【04】——list组件
目录: 1.可滚动区域 2.list + list-item 3.list + list-item-group + list-item 1.可滚动区域 在许多场景中,页面会有一块区域是可滚动的,比如这 ...
- 从微信小程序到鸿蒙js开发【05】——tabs组件&每日新闻
目录: 1.tabs, tab-bar, tab-content 2.tabs的事件处理 3.tabs实现的每日新闻 1.tabs, tab-bar, tab-content 上章说到,鸿蒙的list ...
- 小程序开发-页面导航栏navigation-bar组件
导航栏navigation-bar 页面导航条配置节点,用于指定导航栏的一些属性.只能是 page-meta 组件内的第一个节点,需要配合它一同使用. 通过这个节点可以获得类似于调用 wx.setNa ...
- 《Node入门》读书笔记——用Node.js开发一个小应用
Android APP的开发告一段落,一个稳定的.实现了基本功能的APP已经交付用户使用了!我和老板交流了下,接下来准备转战Node.js了,而且一部分前端的功能也要做进去!哈哈哈~~~接下来要朝一个 ...
- 关于js开发的小问题
一.开发当中经常会动态拼接html,当然为了简便性好多人直接就是使用内联事件: $('#td1').html( '<a href="#" onclick="app. ...
- 尝试用Vue.js开发网页小游戏的过程
准备 首先去官方下载并安装VSCODE,下载地址 https://code.visualstudio.com/.安装后打开会发现是英文版的,需要去安装插件来汉化.具体是在扩展插件搜索chinese,选 ...
随机推荐
- Linux用户相关文件之密码文件
1.文件地址: /etc/shadow ----------. 1 root root 842 10月 6 13:09 /etc/shadow 2.文件内容: xiaol_1:$6$NdCAnK3y$ ...
- 图像分割之mean shift
阅读目的:理解quick shift,同时理解mean shift原理,mean shift用于图像聚类,优点是不需要指定聚类中心个数,缺点是计算量太大(原因). mean shift主要用来寻找符合 ...
- BDC程序步骤
(1)记录屏幕操作: (2)产生相关程序和数据格式文件: (3)调整数据文件: (4)运行BDC产生的程序读取文件导入数据: (5)源代码分析: (6)用BDC 导入单据: 在理解ABAP 开发的sc ...
- Verilog HDL设计规范及经验谈(转载)
1. 规范很重要 工作过的朋友肯定知道,公司里是很强调规范的,特别是对于大的设计(无论软件还是硬件),不按照规范走几乎是不可实现的.逻辑设计也是这样:如果不按规范做的话,过一个月后调试时发现 ...
- 1.2 使用电脑测试MC20模块的GPS功能测试
需要准备的硬件 MC20开发板 1个 https://item.taobao.com/item.htm?id=562661881042 GSM/GPRS天线 1根 https://item.taoba ...
- 前端基础之JavaScript_(3)_DOM对象
JavaScript之DOM对象 HTML DOM HTML Document Object Model(文档对象模型) HTML DOM 定义了访问和操作HTML文档的标准方法 HTML DOM ...
- centos 6.5 设置屏幕保护
设置屏幕保护:System -> Preferences -> Screensaver.如果需要取消屏幕保护的锁定功能,将Lock screen when screensaver is a ...
- HTML系列(3)基本的HTML标签(二)
本节继续介绍HTML的常用标签. (1)input标签之文本域(text和textarea).密码域(password): <!DOCTYPE html> <html ...
- Android系统--Binder系统具体框架分析(一)
Binder系统具体框架分析(一) 一.Binder系统核心框架 1. IPC:Inter-Process Communication, 进程间通信 A进程将数据原原本本发送B进程,主要负责进程间数据 ...
- SpringBoot Maven打包项目JAR/WAR
安装Maven 1. 登录 http://maven.apache.org/download.cgi 2. 下载 maven 压缩包 3. 解压apache-maven-3.6.0-bin.tar.g ...