当前位置: 首页 > news >正文

JavaScript——DOM补充

一、示例

我们先写一道题目来巩固之前所学的知识:

类似于下图所示,点击右下角的四个圆圈之一后,整个页面就会变成圆圈中的颜色,并且左上角需展现圆圈中的字,并且,在鼠标滑动到标签栏的圆圈上时,字会变白。

快点开始行动起来吧!

参考答案如下:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><style>ul{list-style: none;}.wrap{position: fixed;right: 0;bottom: 50px;width: 100px;height: 400px;background-color: #ffffff;box-shadow: 0 0 2px 2px #eeeeee;display: flex;flex-direction: row;flex-wrap: wrap;align-content: space-evenly;justify-content: center;}.wrap li{height: 65px;width: 65px;background-color: red;text-align: center;line-height: 65px;border-radius: 50%;overflow: hidden;color: #aaa;font-size: 20px;font-weight: bold;cursor: pointer;}.wrap li:nth-child(2){background-color: yellow;}.wrap li:nth-child(3){background-color: blue;}.wrap li:nth-child(4){background-color: black;}.wrap li:hover{color:#ffffff;}.inp{color: #eeeeee;}</style>
</head>
<body>
<div class="inp"></div>
<ul class="wrap"><li>红</li><li>黄</li><li>蓝</li><li>黑</li>
</ul><script>var wrapLI=document.querySelectorAll(".wrap>li")var inp=document.querySelector(".inp")var colorARR=["red","yellow","blue","black"]var txtARR=["红","黄","蓝","黑"]for(let i=0;i<wrapLI.length;i++){wrapLI[i].onclick=function(){console.log(i);document.body.style.backgroundColor=colorARR[i]inp.innerText=txtARR[i]}}</script></body>
</html>

写完上述例题后,我们就要对DOM进行补充啦!!!

二、定时器

先给出基础框架:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><style>.box{width: 100px;height: 100px;background-color: #87CEFA;}</style>
</head>
<body><div class="box"></div></body>
</html>

间隔定时器:就是在多少毫秒后就会执行一次。

setTimeout(callback,time)
callback:函数体
time:设置执行时间,单位是毫秒

 let box=document.querySelector(".box")box.onclick=function (){setTimeout(()=>{console.log("2秒后执行")box.style.background="green"},2000)}

展示后的结果就是:

页面中本身为蓝色的div容器,2秒后变成了绿色。

循环间隔定时器:每隔多少毫秒之后执行一次。

let i=0;setInterval(function (){i++console.log("hello",i)},1500)

这段代码最终的显示结果是:控制台中每隔1.5毫秒,即写一次hello 1,hello 2,......

三、js执行顺序

我们引入定时器的概念后,那么js的执行顺序是否会发生变化呢?

我们来看下面一个例子:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><script>let a=10;a=100;console.log(a);setTimeout(function (){console.log("你好");},1000)console.log("嘻嘻")
</script></body>
</html>

输出顺序是什么呢?

你是否答对了呢?

js执行顺序是:从上到下执行,同步代码先执行,异步代码后执行。(一定是同步代码执行完了后,才会去执行异步代码)

然而什么是异步代码呢?显然我们上述学习的定时器就是异步代码,另外事件函数也是异步代码。

或许这个时候你会问什么是事件函数,就是在我之前所写的DOM基础中的这些:

好了,我们全部的DOM学习就在这里啦!

bye~

http://www.dtcms.com/a/403995.html

相关文章:

  • ICPC Central Russia Regional Contest, 2024 补题
  • 【系统架构设计(36)】网络规划与设计
  • SQL 注入风险与解决方案实战解析
  • 企业如何做网站推广出名的包装设计
  • 【STM32】位带操作
  • 供需网站开发做网站怎么发布
  • 保定网站建设方法水墨画风格网站
  • LINUX嵌入式面经(六)--常见算法篇
  • 网站优化推广方法庐江住房建设局网站
  • C语言基础【24】:组包和解包
  • 网站建设PHP开发是什么意思长沙seo服务
  • BMAD的多代理协同开发工作流指南
  • 沈阳网站建设 景乔科技毕节做网站
  • 网站开发 前端 后端 如何结合他达拉非片和西地那非片的区别
  • 做国际物流需要自己的网站吗win主机 wordpress静态
  • 指令微调数据评估与影响:构建高质量大语言模型的关键
  • 本墨陈黑做网站有版权网站开发维护成本
  • 【自动驾驶】自动驾驶概述 ⑤ ( 自动驾驶硬件概述 | 车载计算单元 IPC | 车辆线控系统 )
  • 静态IP的适用场景
  • 第1章 计算机系统概述
  • 印刷个性化网站建设的意义残疾人无障碍网站怎么做
  • Linux学习笔记(六)--Linux进程概念
  • C语言自学--数据在内存中的存储
  • 石家庄网站制作哪家好wordpress 优化数据库
  • 《基于Qt的车载系统项目》
  • 有哪些免费推广软件网站seo推广排名
  • 41.传输层协议UDP
  • 优良的定制网站建设提供商c2c模式的网站
  • 记力扣2516.每种字符至少取k个 练习理解
  • 广州站电话科创纵横 网站建设