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 ...
随机推荐
- 使用dispatch_once:创建单列
无论是爱还是恨,你都需要单例.实际上每个iOS或Mac OS应用都至少会有UIApplication或NSApplication. 什么是单例呢?Wikipedia是如此定义的: 在软件工程中,单例是 ...
- Microsoft.Net中数字签名技术
概 述:本文以Microsoft.Net中创建签名的CAB文件为例,说明如何创建签名文件,从而使你的代码能够安全的在INTERNET上公布.希望能起到抛转引玉的作用. keyword:数字签名,Act ...
- RHCA442学习笔记-Unit11内存回收
Unit 12 Memory Reclamation 内存回收 学习目标: A. 了解和调整内存回收 ...
- 特殊的forward_list操作
为了理解forward_list为什么有特殊版本的添加和删除操作,考虑当我们从一个单向链表中删除一个元素时会发生什么.当添加或删除一个元素时,删除或添加的元素之前的那个元素的后继会发生变化.为了添加或 ...
- Javascript,闭包
js变量的调用 一.全局变量函数调用 var n = 99; function f1() { alert(n); } f1();//99 在函数外部定义的变量,再函数中可以被调用,因为变量n,与f1在 ...
- break continue return 区别
break语句: break语句会使运行的程序立刻退出包含在最内层的循环或者退出一个switch语句.由于它是用来退出循环或者switch语句,所以只有当它出现在这些语句时,这种形式的break语句才 ...
- MySQL数据库分表的3种方法
原文地址:MySQL数据库分表的3种方法作者:dreamboycx 一,先说一下为什么要分表 当一张的数据达到几百万时,你查询一次所花的时间会变多,如果有联合查询的话,我想有可能会死在那儿了.分表的目 ...
- 基于JAVA WEB的医药管理系统
学习上可以模仿,但是不可以抄袭! 附加百度链接:http://wenku.baidu.com/link?url=_r44vGCi8pcm6o44YCvkcHGoT_XhB8jURnweao2YVo1j ...
- 20151217jqueryUI--自动补全工具
自动补全(autocomplete),是一个可以减少用户输入完整信息的 UI 工具.一般在输入邮箱.搜索关键字等,然后提取出相应完整字符串供用户选择.一. 调用 autocomplete()方法 $( ...
- Android 讯飞语音之语音合成(在线有声朗读)
原文:http://www.cnblogs.com/scetopcsa/p/3845427.html 在线语音合成的使用方法: 首先下载相关的sdk,这个网址里有多种版本,我选择的Android. h ...