1、简单计算器

    <!--     第一个数-->
<input type="text">
<!-- 符号复选框-->
<select name="" id="">
<option>+</option>
<option>-</option>
<option>*</option>
<option>/</option>
<option>%</option>
</select>
<!-- 第二个数-->
<input type="text">
<!-- 计算按钮-->
<button onclick="jisuan()">=</button>
<!-- 结果输出-->
<input type="text" placeholder="结果">
//全局变量
var inputs = null;//文本框
var input1 = null;//第一个文本框
var input2 = null;//第二个文本框
var select1 = null;//下拉框
var input3 = null;//结果文本框
//页面加载
window.onload = function(){
initVal();
}
//找到各元素
function initVal(){
select1 = document.getElementsByTagName('select')[0];
inputs = document.getElementsByTagName('input');
input1 = inputs[0];
input2 = inputs[1];
input3 = inputs[2];
}
//结果计算
function jisuan(){
input3.value = eval(input1.value + select1.value + input2.value);
}

2、电子时钟

<input id="tt" type="text"><!--建立文本框显示时间-->
<script>
function dianziTime(name){
var t = new Date(),//新建一个时间
y = t.getFullYear(),//获取年
m = (+t.getMonth()+1) >= 10 ? +t.getMonth()+1 : "0" +(+t.getMonth()+1),
//获取月份,月份下标是(0-11),与实际日期差1
//三目运算,如果是1位数,前面加0
d = t.getDate(),//获取日
h = t.getHours(),//获取小时
f = t.getMinutes(),//获取分钟
s = t.getSeconds();//获取秒
var str = y+"-"+m+"-"+d+" "+h+":"+f+":"+s;//显示设置
document.getElementById('tt').value = str;//将时间放在id="tt"中
}
</script>

注:此方法获取的时间是刷新页面时的时间,非动态

获取日期,当前时间日期及其他操作方式:

var myDate = new Date();
myDate.getYear(); //获取当前年份(2位)
myDate.getFullYear(); //获取完整的年份(4位,1970-????)
myDate.getMonth(); //获取当前月份(0-11,0代表1月)
myDate.getDate(); //获取当前日(1-31)
myDate.getDay(); //获取当前星期X(0-6,0代表星期天)
myDate.getTime(); //获取当前时间(从1970.1.1开始的毫秒数)
myDate.getHours(); //获取当前小时数(0-23)
myDate.getMinutes(); //获取当前分钟数(0-59)
myDate.getSeconds(); //获取当前秒数(0-59)
myDate.getMilliseconds(); //获取当前毫秒数(0-999)
myDate.toLocaleDateString(); //获取当前日期
var mytime=myDate.toLocaleTimeString(); //获取当前时间
myDate.toLocaleString( ); //获取日期与时间

动态时间的获取(定时器):

window.onload = function(){
setInterval(function(){
//建立定时器,每1秒运行一次
dianziTime();
},1000);
}

3、元素的添加删除和修改

<!--创建按钮-->
<button onClick="tianjia()" style="background: red;">添加一行</button>
<!--创建表格-->
<table id="tab" border="1">
<tr>
<td>编号</td>
<td>姓名</td>
<td>性别</td>
<td>年龄</td>
<td>操作</td>
</tr>
<tr>
<td>1</td>
<td>张三</td>
<td>男</td>
<td>12</td>
<td><span>删除</span></td>
</tr>
<tr>
<td>123</td>
<td>223</td>
<td>323</td>
<td>323</td>
<td><span>删除</span></td>
</tr>
</table>
//添加td并修改内容
function tianjia(){
var tab = document.getElementById("tab");
var tr = document.createElement("tr");
for (var i = 0; i < 5; i++) {
var td = document.createElement("td");
if(i < 4){
td.innerHTML = 123;
}
// 添加子节点
else{
var span = document.createElement("span");
span.innerHTML = "删除";
td.appendChild(span);
span.onclick = function(){
tr.remove();
}
var button = document.createElement("button")
button.innerHTML = "变色";
td.appendChild(button);
button.onclick = function(){
tr.style.color = "red";
}
}
tr.appendChild(td);
}
tab.appendChild(tr);
}

效果:

4、随机点名

var arr = ["赵","钱","孙","李","周","吴","郑","王","冯","陈"];//新建数组
var i = parseInt(Math.random()*10);
//Math.random()的返回值是在0-1之间的,因为有10个值,所以*10,并取整数,作为数组arr的下标
console.log(i);
console.log(arr[i]);

方法:Math.random()

返回大于等于 0 小于 1 的一个随机数。

5、滚动抽奖

    <!--建立开始按钮 -->
<button id="start">开始</button>
<!--建立结束按钮-->
<button id="end">停止</button>
<!--显示名字-->
<div id="dd" style="width: 300px; height: 50px;background: red;text-align: center; line-height: 50px;">
</div>
//定义全局变量
var divDom = null;//显示div
var startDom = null;//开始按钮
var endDom = null;//结束按钮
//页面加载完成
window.onload = function(){
divDom = document.getElementById('dd');//找到区域
startDom = document.getElementById('start');//找到开始按钮
endDom = document.getElementById('end');//找到结束按钮
}
//运行 function addEvent(){
//开始事件
startDom.onclick = function(){
//点击运行方法
setDom = setInterval(function(){
//建立一个定时器,每1毫秒显示一次
divDom.innerHTML = arr[n];
//将arr[0]中的内容赋值给div
n++;
if(n >= 10){
n = 0;
}
//当n=10时,运行完一边,设置n=0,再重新循环
},1);
}
//结束事件
endDom.onclick = function(){
clearInterval(setDom);//清除定时器
}
}

Dom运用1的更多相关文章

  1. 关于DOM的操作以及性能优化问题-重绘重排

     写在前面: 大家都知道DOM的操作很昂贵. 然后贵在什么地方呢? 一.访问DOM元素 二.修改DOM引起的重绘重排 一.访问DOM 像书上的比喻:把DOM和JavaScript(这里指ECMScri ...

  2. 读书笔记:JavaScript DOM 编程艺术(第二版)

    读完还是能学到很多的基础知识,这里记录下,方便回顾与及时查阅. 内容也有自己的一些补充. JavaScript DOM 编程艺术(第二版) 1.JavaScript简史 JavaScript由Nets ...

  3. 页面嵌入dom与被嵌入iframe的攻防

    1.情景一:自己的页面被引入(嵌入)至别人的页面iframe中 if(window.self != window.top){ //url是自己页面的url window.top.location.hr ...

  4. 通俗易懂的来讲讲DOM

    DOM是所有前端开发每天打交道的东西,但是随着jQuery等库的出现,大大简化了DOM操作,导致大家慢慢的“遗忘”了它的本来面貌.不过,要想深入学习前端知识,对DOM的了解是不可或缺的,所以本文力图系 ...

  5. HTML DOM 介绍

    本篇主要介绍DOM内容.DOM 节点.节点属性以及获取HTML元素的方法. 目录 1. 介绍 DOM:介绍DOM,以及对DOM分类和功能的说明. 2. DOM 节点:介绍DOM节点分类和节点层次. 3 ...

  6. HTML DOM 对象

    本篇主要介绍HTML DOM 对象:Document.Element.Attr.Event等4个对象. 目录 1. Document 对象:表示文档树的根节点,大部分属性和方法都是对元素进行操作. 2 ...

  7. 重撸js_2_基础dom操作

    1.node 方法 返回 含义 nodeName String 获取节点名称 nodeType Number 获取节点类型 nodeValue String 节点的值(注意:文本也是节点) 2.inn ...

  8. 虚拟dom与diff算法 分析

    好文集合: 深入浅出React(四):虚拟DOM Diff算法解析 全面理解虚拟DOM,实现虚拟DOM

  9. 窥探Vue.js 2.0 - Virtual DOM到底是个什么鬼?

    引言 你可能听说在Vue.js 2.0已经发布,并且在其中新添加如了一些新功能.其中一个功能就是"Virtual DOM". Virtual DOM是什么 在之前,React和Em ...

  10. jQuery学习之路(2)-DOM操作

    ▓▓▓▓▓▓ 大致介绍 jQuery作为JavaScript库,继承并发扬了JavaScript对DOM对象操作的特性,使开发人员能方便的操作DOM对象. ▓▓▓▓▓▓ jQuery中的DOM操作 看 ...

随机推荐

  1. QtableWidget用法流程

    QtableWidget用法流程 ​ 作者:流火 日期:2020/5/10 QTableWidget的基本构造函数 QTableWidget 是QTableview的子类.主要去呗是QTableVie ...

  2. 二.1.vue-开发环境搭建

    一vue开发环境搭建 1.下载二进制包 https://nodejs.org/zh-cn/ 直接下一步下一步即可,然后dmd中如下显示说明成功: C:\Program Files\nodejs> ...

  3. Hive 报错SemanticException Error in parsing

    以下sql执行时报错SemanticException Error in parsing select clr.id,clr.customer_id,clr,contract_code,clr.cor ...

  4. SpringCloud 断路器之Hystrix

    Hystrix-断路器 在分布式环境中,许多服务依赖项中的一些必然会失败.Hystrix是一个库,通过添加延迟容忍和容错逻辑,帮助你控制这些分布式服务之间的交互.Hystrix通过隔离服务之间的访问点 ...

  5. String 类的其他功能

    12.01_常见对象(Scanner的概述和方法介绍)(掌握) A:Scanner的概述 B:Scanner的构造方法 Scanner(InputStream source) System.in C: ...

  6. Isset、empty、count、is_null的比较

    1.empty判断变量是否为空, 先把变量转为布尔值再返回:对变量(字符串.数组等)赋值为一切为空的值.或者未定义的变量都返回true,即判断为空,比如null,' ',0,array(),false ...

  7. java语言基础(九)_final_权限_内部类

    final关键字 final关键字代表最终.不可改变的. 常见四种用法: 可以用来修饰一个类 可以用来修饰一个方法 还可以用来修饰一个局部变量 还可以用来修饰一个成员变量 1)修饰一个类 public ...

  8. Spark TempView和GlobalTempView的区别

    Spark TempView和GlobalTempView的区别 TempView和GlobalTempView在spark的Dataframe中经常使用,两者的区别和应用场景有什么不同. 我们以下面 ...

  9. 前端进阶笔记(一)---JS语言通识

    一.语言按照语法分类 1.非形式语言:中文 英文 2.形式语言:乔姆斯基谱系(四种文法 上下文包含文法) 0型 无限制文法 1型 上下文相关文法 2型 上下文无关文法 正则文法 二 产生式(BNF) ...

  10. day12 作业

    1.通用文件copy工具实现 with open("a.txt","r",encoding="utf-8") as f ,open(&quo ...