DOM事件练习 I
目录
input框动态显示事件
<head>
<meta charset="UTF-8">
<title>动态显示时间</title>
<style>
input{width:200px;}
</style>
</head>
<body>
<input type="text" id="time">
<button id="switch">开始</button>
</body>
<script>
var btn = document.getElementById('switch');
btn.onclick = function () {
switch (this.innerText) {
case '开始':
this.innerText = '停止';
timer1 = setInterval(update,1000);
break;
case '停止':
this.innerText = '开始';
clearInterval(timer1);
break;
}
};
function update() {
var t = document.getElementById('time');
var dt = new Date();
t.value = dt.toLocaleString();
}
</script>
input框动态显示事件
红绿灯
<head>
<meta charset="UTF-8">
<title>事件-红绿灯</title>
<style>
.fa{display: inline-block; padding: 5px;border-radius: 10px;border-color: darkgray;border-style: solid}
.div0{width:100px;height:100px;border-radius: 50px; float: left;
border-color: white;background-color: gray;
display: inline-block;margin: 0;}
.div2{background-color: green;}
.div1{background-color: red;}
.div3{background-color: yellow;}
</style>
</head>
<body>
<div class="fa">
<div id="d0" class="div0 div1"></div>
<div id="d1" class="div0"></div>
<div id="d2" class="div0"></div>
</div>
<script>
function change()
{
var tem = document.getElementsByClassName('div0');
if (tem[0].classList.contains('div1'))
{
tem[0].classList.remove('div1');
tem[1].classList.add('div2');
}
else if (tem[1].classList.contains('div2'))
{
tem[1].classList.remove('div2');
tem[2].classList.add('div3');
}
else if (tem[2].classList.contains('div3'))
{
tem[2].classList.remove('div3');
tem[0].classList.add('div1');
}
}
setInterval(change,1000);
</script>
</body>
红绿灯模拟
顶部广告栏关闭
<head>
<meta charset="UTF-8">
<title>顶部广告关闭</title>
<style>
body{margin:0 ;}
.ad{ position:fixed ; top:0; width: 100%; height: 100px;
background-color: darkblue;opacity: 0.5}
.ad_content{position: fixed;top:0; padding:20px;color: #53ff09}
#close{position: fixed;top: 0; right: 0; background-color: lightyellow;
height: 20px;width:20px;text-align:center; line-height: 20px;font-size:30px}
.content{height: 1000px;background-color: gray}
</style>
</head>
<body>
<div class="ad" id="ad">
<div class="ad_content">
LOL新赛季即将开启,敬请期待
</div>
<div id="close">
x
</div>
</div>
<div class="content">
详情请关注LOL世界锦标赛官方微博
详情请关注LOL世界锦标赛官方微博
详情请关注LOL世界锦标赛官方微博
详情请关注LOL世界锦标赛官方微博
详情请关注LOL世界锦标赛官方微博
详情请关注LOL世界锦标赛官方微博
详情请关注LOL世界锦标赛官方微博
详情请关注LOL世界锦标赛官方微博
详情请关注LOL世界锦标赛官方微博
详情请关注LOL世界锦标赛官方微博
详情请关注LOL世界锦标赛官方微博
详情请关注LOL世界锦标赛官方微博
</div>
</body>
<script>
var closebtn = document.getElementById('close');
closebtn.onclick = function () {
var ad= document.getElementById('ad');
ad.style.display = 'none';
}
</script>
顶部广告
鼠标悬停IMG上时,更换另一张图片
//需求:鼠标放到img上,更换为另一张图片,也就是修改路径(src的值)。
//步骤:
//1.获取事件源
//2.绑定事件
//3.书写事件驱动程序 <body>
<img src="1.jpg" id="box" style="cursor: pointer;border: 1px solid #ccc;" >
</body>
<script>
var img = document.getElementById('box');
img.onmouseover = function () {
img.src = '2.jpg';
};
img.onmouseout = function () {
img.src = '1.jpg'
};
</script>
鼠标悬停更换图片
悬浮框自动出现
<head>
<meta charset="UTF-8">
<title>自动出现</title>
<style>
.d1{width:70px; height:25px;background-color: #cccccc;position: fixed;
bottom: 50px;right: 50px;text-align: center;line-height: 25px;border-radius: 5px;}
.d2{display: none}
.a1{text-decoration: none; color: #ff6700}
</style>
</head>
<body>
<div style="width: 100% ; height: 2000px;background-color: gray"></div>
<div class="d1 d2" id="d1"><a class="a1" id="a1" href="#">回到顶部</a></div>
</body>
<script>
var sl = document.getElementById('d1');
window.onscroll = function () {
console.log(document.documentElement.scrollTop);
if (document.documentElement.scrollTop>700){
sl.classList.remove('d2');
}
else { sl.classList.add('d2'); }
};
</script>
// 行内实现
<body>
<div style="height: 4000px;width:20px;background-color: #ff6700"></div>
<p><a id="a1" style="position: fixed; bottom: 200px; z-index: 100; background-color: gray; right: 100px; color: white; display: block; padding: 5px; border-radius: 5px; text-decoration: none;" href="#">回到顶部</a></p>
</body>
<script>
var ab= document.getElementById('a1');
window.onscroll = function () {
console.log(document.documentElement.scrollTop);
console.log(ab.style.display);
if (document.documentElement.scrollTop>700){
ab.style.display = 'block';
}
else { ab.style.display = 'none'; }
};
</script>
</html>
悬浮框自动出现
模态框案例
需求:打开网页时有一个普通的按钮,点击当前按钮显示一个背景图,中心并弹出一个弹出框,点击X的时候会关闭当前的模态框。
<!DOCTYPE html>
<html lang="zh-ch">
<head>
<meta charset="UTF-8">
<title>模态框</title>
<style>
*{margin:0;padding :0;}
html,body{height: 100%;}
#box{width:100%;height:100%;background: rgba(0,0,0,.3);}
#content{position: relative;top:150px;width:400px;height: 200px;
line-height: 200px;text-align: center;
color: red; background-color: #fff;margin:auto; }
#span1{position:absolute;background-color: red;top: 0 ;right:0;width: 30px;
height: 30px;text-align: center;color:#fff;line-height: 30px;}
</style>
</head>
<body>
<button id="btn">弹出</button>
</body>
<script type="text/javascript">
//获取dom元素:1获取事件源
var oBtn = document.getElementById('btn');
//创建弹出模态框的相关dom对象
var oDiv = document.createElement('div');
var oP = document.createElement('p');
var oSpan = document.createElement('span');
//设置属性
oDiv.id = 'box';
oP.id = 'content';
oP.innerHTML='模态框弹出显示的内容';
oSpan.innerText = 'X';
oSpan.id = 'span1';
//追加元素
oDiv.appendChild(oP);
oP.appendChild(oSpan);
//设置点击弹窗按钮 弹出模态框
oBtn.onclick = function () {
this.parentNode.insertBefore(oDiv,oBtn);
};
//设置关闭按钮,关闭模态框
oSpan.onclick = function () {
oDiv.parentNode.removeChild(oDiv)
}
</script>
</html>
模态框
DOM事件练习 I的更多相关文章
- DOM 事件深入浅出(二)
在DOM事件深入浅出(一)中,我主要给大家讲解了不同DOM级别下的事件处理程序,同时介绍了事件冒泡和捕获的触发原理和方法.本文将继续介绍DOM事件中的知识点,主要侧重于DOM事件中Event对象的属性 ...
- DOM 事件深入浅出(一)
在项目开发时,我们时常需要考虑用户在使用产品时产生的各种各样的交互事件,比如鼠标点击事件.敲击键盘事件等.这样的事件行为都是前端DOM事件的组成部分,不同的DOM事件会有不同的触发条件和触发效果.本文 ...
- DOM事件
在慕课网上学习了DOM事件探秘课程,特此整理了一下笔记. 慕课网DOM事件探秘课程地址:http://www.imooc.com/learn/138 事件 是文档或浏览器窗口中发生的特定的交互瞬间.[ ...
- 理解DOM事件流的三个阶段
本文主要解决两个问题: 1.什么是事件流 2.DOM事件流的三个阶段 事件流之事件冒泡与事件捕获 在浏览器发展的过程中,开发团队遇到了一个问题.那就是页面中的哪一部分拥有特定的事件? 可以想象画在一张 ...
- 你真的了解DOM事件么?
你真的了解DOM事件么? 我们大家都知道,人与人之间的交流可以通过语言,文字,肢体动作,面部微表情等,但是你知道Javascript和HTML之间是通过什么进行交互的么?你又知道Javascript和 ...
- [DOM Event Learning] Section 4 事件分发和DOM事件流
[DOM Event Learning] Section 4 事件分发和DOM事件流 事件分发机制: event dispatch mechanism. 事件流(event flow)描述了事件对象在 ...
- dom事件与event对象总结
1 事件:就是文档或浏览器窗口中发生的一些特定的交互瞬间. tips:js和xhtml的交互是通过当用户或浏览器操作网页时发生的事件来处理的. 1.1 事件流:即事件的顺序. 事件 ...
- DOM事件简介--摘自admin10000
Click.touch.load.drag.change.input.error.risize — 这些都是冗长的DOM(文档对象模型)事件列表的一部分.事件可以在文档(Document)结构的任何部 ...
- 从click事件理解DOM事件流
事件流是用来解释页面上的不同元素接受一个事件的顺序,首先要明确两点: 1.一个事件的影响元素可能不止一个(同心圆理论),但目标元素只有一个. 2.如果这些元素都绑定了相同名称的事件函数,我们怎么知道这 ...
- DOM事件机制进一步理解
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...
随机推荐
- ALIENTEK 战舰ENC28J60 LWIP和UIP补充例程(LWIP WEB有惊喜)
前面的话:自从接触网络模块,到现在有一阵子时间了,未来必定是网络的世界.学一些网络方面的知识是有必要的.我们ALINTEK 推出的ENC28J60网络模块块作为入门还是不错的.详细见此贴:http:/ ...
- TXNLP 01-09
一般涉及生成文本都是比较难的.
- bat批处理文件
将某个文件夹中的所有txt文件合并到a.txt中,如果文件比较多的话,手动会很费时,编写程序也很麻烦,这个时候就可以用批处理文件,如下: type *.txt > a.txt 把上面这行粘贴到新 ...
- 运行一次node服务后,再次运行报错
由于工作内容在git上,而系统又是window,大家知道,window自带的终端是不能进行git操作的,所以下载了一个git进行代码的更新提交. 我在git上运行了node服务后,由于不同的项目,我需 ...
- Hadoop-No.8之时间戳
要获得良好的HBase的模式设计,要正确的理解和使用时间错.在HBase中,时间戳的作用如下所述. 时间戳决定了在put请求修改记录时那些记录更新 时间戳决定了一条记录的多个版本在返回时的排序 时间戳 ...
- Python3之文件读写操作详解
文件操作的步骤: 打开文件 -> 操作文件 -> 关闭文件 切记:最后要关闭文件(否则可能会有意想不到的结果) 打开文件 文件句柄 = open('文件路径', '模式') 指定文件编码 ...
- Juit4 SpringBoot注解
@RunWith就是一个运行器 @RunWith(JUnit4.class)就是指用JUnit4来运行 @RunWith(SpringJUnit4ClassRunner.class),让测试运行于Sp ...
- 5 解析器、url路由控制、分页、渲染器和版本
1 数据解析器 1 什么是解析器 相当于request 中content-type 对方传什么类型的数据,我接受什么样的数据:怎样解析 无论前面传的是什么数据,都可以解开 例如:django不能解析j ...
- 适合没有ui的项目的样式
官网: https://www.tailwindcss.cn/
- Flutter 父子组件传值
Flutter 父子组件传值 一父传子: 父中: void onButtonChange(val1,val2,val3){ print('============================子向父 ...