dom例子
//凡是html标签中的属性和值是一样的,那么在js中用true或者false
1,阅读协议倒计时
<input type="button" name="name" value="请仔细阅读协议(5)" disabled="disabled" id="btn" /> <script type="text/javascript">
window.onload = function () {
var btnObj = document.getElementById('btn');
var sec = 5;
var setId = setInterval(function () {
sec = sec - 1;
if (sec <= 0) { btnObj.value = '同意';
clearInterval(setId); //清除计时器
btnObj.disabled = false;
} else {
btnObj.value = '请仔细阅读协议(' + sec + ')';
}
}, 1000);
};
2,事件冒泡
window.event.cancelBubble = true; //阻止事件冒泡.
<script type="text/javascript">
//冒泡排序,--元素中有元素(元素的嵌套如果触发了里面元素的事件,那么外面元素的事件也会被触发)(事件是相同的事件)
//阻止事件冒泡
window.onload = function () {
document.getElementById('dv').onclick = function () {
alert(this.id);
//alert(window.event.srcElement.id);//事件源的id
};
document.getElementById('p1').onclick = function () {
alert(this.id);
};
document.getElementById('sp').onclick = function () {
alert(this.id);
window.event.cancelBubble = true; //阻止事件冒泡.
//return false;//没有阻止事件冒泡
};
};
</script>
3,dom动态创建元素
<script type="text/javascript">
window.onload = function () {
//获取按钮添加点击事件
document.getElementById('btn').onclick = function () {
//创建一个层的对象
var dvObj = document.createElement('div');
dvObj.style.width = '300px';
dvObj.style.height = '200px';
dvObj.style.backgroundColor = 'yellow';
//把层添加到body中
document.body.appendChild(dvObj);
};
};
</script>
4,将创建的元素添加到现有元素中
var i = 0;
document.getElementById('btnc').onclick = function () {
i++;
//创建一个input标签
var inputObj = document.createElement('input');
inputObj.type = 'button';
inputObj.value = '我骄傲' + i;
//document.getElementById('dv').appendChild(inputObj);
document.getElementById('dv').insertBefore(inputObj, document.getElementById('dv').firstChild);
};
5,简单无刷新评论
<table border="1" id="tb">
<tr>
<td>猫猫
</td>
<td>
我好困
</td>
</tr>
</table>
昵称: <input type="text" name="name" value="" id="txt" />
<br />
<textarea rows="10" clos="10" id="txtContent"></textarea>
<br />
<input type="button" name="name" value="提交" id="btn" />
<script type="text/javascript">
window.onload = function () {
document.getElementById('btn').onclick = function () {
//获取昵称
var name = document.getElementById('txt').value;
//获取内容
var txtCt = document.getElementById('txtContent').value;
//获取页面的表格
var tbObj = document.getElementById('tb');
//创建行
var trObj = document.createElement('tr');
//创建单元格
var td1 = document.createElement('td');
var td2 = document.createElement('td');
td1.innerText = name;
td2.innerText = txtCt;
//把单元格添加到行中
trObj.appendChild(td1);
trObj.appendChild(td2);
//行添加到表中
tbObj.appendChild(trObj);
};
};
</script>
6,创建表格方式
<script type="text/javascript">
window.onload = function () { document.getElementById('btn').onclick = function () { var tb = document.createElement('table');
var dic = { "百度": "http://www.baidu.com", "传智播客": "http://www.itcast.cn", "谷歌": "http://www.google.com" }; for (var key in dic) {
//创建行,根据表创建行
var trObj = tb.insertRow(-1);
//创建单元格,根据行创建单元格 var td1 = trObj.insertCell(-1);
td1.innerText = key;
//创建单元格
var td2 = trObj.insertCell(-1);
td2.innerHTML = '<a href="' + dic[key] + '">' + key + '</a>'; }
//表格添加到body中
document.body.appendChild(tb); };
}; </script>
7,为元素添加样式
<script type="text/javascript">
window.onload = function () { document.getElementById('btn').onclick = function () {
document.getElementById('dv').className = 'cls'; };
}; </script>
8,文本框焦点事件(onfocus与onblur)
//创建三个输入文本框,当光标离开文本框的时候如果文本框为空,则将文本框背景色设置为红色,如果不为空则为白色。提示:焦点进入控件的事件是onfocus,焦点离开控件的事件是onblur。
window.onload=function(){
//获取所有的文本框
var txts = document.getElementsByTagName('input');
for (var i = 0; i < txts.length; i++) {
txts[i].onblur = function () {
if (this.value.length == 0) {
this.style.backgroundColor = 'red';
}
else {
this.style.backgroundColor = '';//恢复默认颜色
}
}; //注册失去焦点事件
}
};
9,★☆评分控件
<script type="text/javascript">
window.onload = function () {
var tds = document.getElementById('tb').getElementsByTagName('td');
for (var i = 0; i < tds.length; i++) {
tds[i].onmouseover = function () {//注册一个鼠标进入的事件
for (var j = 0; j < tds.length; j++) {
//this.innerText = '★';
tds[j].innerText = '★';
if (tds[j] == this) {
break;
}
}
};
tds[i].onmouseout = function () {
for (var i = 0; i < tds.length; i++) {
tds[i].innerText = '☆';
}
};
}
};
</script>
10,点击按钮,表格隔行变色
<script type="text/javascript">
//点击按钮,表格隔行变色:偶数行为黄色背景,奇数行为默认颜色。通过table的getElementsByTagName取得所有的tr,依次遍历,如果是偶数就…………。
window.onload = function () { document.getElementById('btn').onclick = function () {
var trs = document.getElementById('tb').getElementsByTagName('tr');
for (var i = 0; i < trs.length; i++) {
if (i % 2 != 0) {
trs[i].style.backgroundColor = 'yellow';
} else {
trs[i].style.backgroundColor = '';
}
}
};
}; </script>
11,鼠标放到超链接上,显示图片(层)
<script type="text/javascript">
window.onload = function () {
//获取超链接, //为超链接注册一个事件--鼠标进入事件
document.getElementById('ak').onmouseover = function () {
if (!document.getElementById('imxy')) {
//创建一个图片
var im = document.createElement('img');
im.id = 'imxy';
im.src = 'xy.JPG';
//图片要脱离文档流
im.style.position = 'absolute';
//超链接距离左边距离
var x = this.offsetLeft + 'px';
//超链接距离上面加上超链接高度距离
var y = this.offsetTop + this.offsetHeight + 'px';
//图片添加到body中
document.body.appendChild(im);
}
};
//鼠标离开
document.getElementById('ak').onmouseout = function () {
if (document.getElementById('imxy')) {
document.body.removeChild(document.getElementById('imxy'));
}
};
}
</script>
12,让图片跟随图片
<script type="text/javascript">
window.onload = function () {
document.onmousemove = function () {
// alert('让你动');
var imObj = document.getElementById('im');
imObj.style.position = 'absolute';
imObj.style.left = window.event.clientX + 'px';
imObj.style.top = window.event.clientY + 'px';
//给鼠标加样式
document.body.style.cursor = 'url(dinosau2.ani)';
};
};
</script>
13,正则表达式
var msg = '中国移动:10086,中国联通:10010,中国电信:10000';
var reg=/\d+/g;//全局
var result;
while ((result = reg.exec(msg)) != null) {
alert(result);
}
14,js匹配邮箱
document.getElementById('txt').onblur = function () {
var email = this.value; //获取邮箱
var regObj = /^\w+@\w+\.+\w+$/;
alert( regObj.test(email)?'是邮箱':'不是邮箱');
};
15,电话号码指定位置换星号
<script type="text/javascript">
var msg = '杨小舅:13888888888张三:13999999999小李子:13111111111';
// /\d{3}\d{4}\d{4}/;
var result= msg.replace(/(\d{3})(\d{4})(\d{4})/g,'$1****$3');
alert(result);
</script>
16,切除字符串两端空格
<script type="text/javascript">
var msg = ' 天气还可以 ';
function trimString(txt) {
//先切左边再切右边-(query中1.8.3文件中是前面的方式)---可以左边右边一起切
return txt.replace(/^\s+/,'').replace(/\s+$/,'');
}
dom例子的更多相关文章
- DOM例子小结(一)
一.点击按钮切换图片 核心思路: 1.首先获取元素 2.为元素添加点击事件 3.当事件被触发时运行代码 <!DOCTYPE html> <html lang="en&quo ...
- angularJS 指令解释
本文引自 http://blog.csdn.net/kongjiea/article/details/49840035 指令,很重要 AngularJS与jQuery最大的区别在哪里?我认为,表现在数 ...
- vue-awesome-swiper中的数据异步加载
<template> <div> //第一个轮播 加了v-if 判断,可以实现 loop 轮循 <swiper v-if="gglist.length>1 ...
- javascript dom追加内容的例子
javascript dom追加内容的使用还是比较广泛的,在本文将为大家介绍下具体的使用方法. 例子: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML ...
- js基础例子dom+原型+oop基础知识记录01
//oo:概念是计算机中对于现实世界的理解和抽象的方法 //由计算机利用编程技术发展到现在的产物 //面向对象几要素 //对象:由属性和方法组成的集合 //属性:保存数据,存储在对象内存空间中的唯一的 ...
- 自学XML DOM的几个例子
XML DOM定义了如何获取.修改.添加和删除XML文件中结点的接口,极大方便了开发者对XML文件的使用.XML DOM教程和手册请转:http://www.w3school.com.cn/xmldo ...
- js DOM操作---登录例子总结
简单的总结下用 javascript DOM 实现简易登录框例子,下面是简单的模拟登录,没有具体的登录样子,但只是模拟,整理下思路. 页面简单布局,我这个确实太简单了,看代码: <body> ...
- DOM编程艺术章12:一个简单的Ajax例子
大概入了JavaScript的门,现在要回过头恶补Ajax和json了,随手翻到dom编程艺术发现有一个适合回忆的例子,先抄录下来,引入对Ajax作用的大概印象,再去掰开了研究. <!DOCTY ...
- dom4j的测试例子和源码详解(重点对比和DOM、SAX的区别)
目录 简介 DOM.SAX.JAXP和DOM4J xerces解释器 SAX DOM JAXP DOM解析器 获取SAX解析器 DOM4j 项目环境 工程环境 创建项目 引入依赖 使用例子--生成xm ...
随机推荐
- 国外一些好用的UX/UI设计工具和资源分享
国外一些好用的UX/UI设计工具和资源分享 你今天使用的设计工具也许不再适合以后的网页和APP设计项目了.新的工具不断的推出市场,目标只有一个,让你的工作更快.更容易而且工作成效更好.今天分享的这些U ...
- OcciWrapper使用指南(高性能Oracle访问组件)
occiwrapper使用指南 occiwrapper是一个开源的.跨平台的Oracle访问组件, 方便C++开发者们灵活地操作oracle数据库.为了方便使用,组件中的接口形式参考的POCO库的使用 ...
- Lua代码解析-写给C和C++开发人员
lua语言作为一门轻量级脚本语言,能够非常好的被嵌入到应用程序,因此,在移动游戏开发中举足轻重 然后C/C++开发人员转lua并非非常习惯,我也是..所以,一起努力学习lua吧 lua没有类的概念,有 ...
- Android自定义进度条
Android原生控件只有横向进度条一种,而且没法变换样式,比如原生rom的样子很丑是吧,当伟大的产品设计要求更换前背景,甚至纵向,甚至圆弧状的,咋办,比如ok,我们开始吧: 一)变换前背景 先来看看 ...
- RHCA学习笔记:RH442-Unit9内核定时与进程延时
Unit 9 Kernel Timing and Process Latency 内核定时与进程延时 学习目标: A.了解CPU 是怎样追踪时间的 B.调整CPU的访问次数 C.调整调度延时 D. ...
- linuxcon-europe 2015 linux大会
http://events.linuxfoundation.org/events/archive/2015/linuxcon-europe
- 【转】Cocos2d-x 2.0 拖尾效果深入分析
Cocos2d-x 2.0 拖尾效果深入分析 另:本章所用Cocos2d-x版本为: cocos2d-2.0-x-2.0.2@ Aug 30 2012 http://cn.cocos2d-x.org/ ...
- 选择 GCD 还是 NSTimer ?
我们常常会延迟某件任务的执行,或者让某件任务周期性的执行.然后也会在某些时候需要取消掉之前延迟执行的任务. 延迟操作的方案一般有三种: 1.NSObject的方法: 2.使用NSTimer的方法: 3 ...
- SqlBulkCopy高效能批量插入SQL SERVER
what SqlBulkCopy是.NET提供的用来批量插入数据的一个类,特别是将内存中的数据一次性插入到数据库,目前只能插入到SQL SERVER数据库,数据源可以是DataTable.IDataR ...
- Docker container network configuration
http://xmodulo.com/networking-between-docker-containers.html How to set up networking between Docker ...