Web APIs-01基础:获取元素+操作元素+事件基础
day01 - Web APIs
1.1. Web API介绍
1.1.1 API的概念
API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数。
目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,无需理解其内部工作机制细节,只需直接调用使用即可。
简单理解
:API是给程序员提供的一种工具,以便能更轻松的实现想要完成的功能。
1.1.2 Web API的概念
Web API 是浏览器提供的一套操作浏览器功能和页面元素的 API ( BOM 和 DOM )。
现阶段我们主要针对于浏览器讲解常用的 API , 主要针对浏览器做交互效果。比如我们想要浏览器弹出一个警示框, 直接使用 alert(‘弹出’)
MDN 详细 API : https://developer.mozilla.org/zh-CN/docs/Web/API
因为 Web API 很多,所以我们将这个阶段称为 Web APIs。
此处的 Web API 特指浏览器提供的一系列API(很多函数或对象方法),即操作网页的一系列工具。例如:操作html标签、操作页面地址的方法。
1.1.3 API 和 Web API 总结
-
API 是为我们程序员提供的一个接口,帮助我们实现某种功能,我们会使用就可以了,不必纠结内部如何实现
-
Web API 主要是针对于浏览器提供的接口,主要针对于
浏览器做交互效果
。 -
Web API 一般都有输入和输出(函数的传参和返回值),Web API 很多都是方法(函数)
1.2. DOM 介绍
1.2.1 什么是DOM
文档对象模型(Document Object Model,简称DOM),是 W3C 组织推荐的处理可扩展标记语言(html或者xhtml)的标准编程接口。
W3C 已经定义了一系列的 DOM 接口,通过这些 DOM 接口可以改变网页的内容、结构和样式。
DOM是W3C组织制定的一套处理 html和xml文档的规范,所有的浏览器都遵循了这套标准。
1.2.2. DOM树
DOM树 又称为文档树模型,把文档映射成树形结构,通过节点对象对其处理,处理的结果可以加入到当前的页面。
- 文档:一个页面就是一个文档,DOM中使用
document
表示 - 节点:网页中的所有内容,在文档树中都是节点(标签、属性、文本、注释等),使用
node
表示 - 标签节点:网页中的所有标签,通常称为元素节点,又简称为“元素”,使用
element
表示
1.3. 获取元素
1.3.1. 根据ID获取
语法:document.getElementById(id)
作用:根据ID获取元素对象
参数:id值,区分大小写的字符串
返回值:元素对象 或 null
案例代码
<body><div id="time">2019-9-9</div><script>// 因为我们文档页面从上往下加载,所以先得有标签 所以我们script写到标签的下面var timer = document.getElementById('time');console.log(timer);console.log(typeof timer);// console.dir 打印我们返回的元素对象 更好的查看里面的属性和方法console.dir(timer);</script>
</body>
1.3.2. 根据标签名获取元素
语法:document.getElementsByTagName('标签名') 或者 element.getElementsByTagName('标签名')
作用:根据标签名获取元素对象
参数:标签名
返回值:元素对象集合(伪数组,数组元素是元素对象)
案例代码
<body><ul><li>知否知否,应是等你好久11</li><li>知否知否,应是等你好久22</li><li>知否知否,应是等你好久33</li><li>知否知否,应是等你好久44</li><li>知否知否,应是等你好久55</li></ul><ul id="nav"><li>生僻字</li><li>生僻字</li><li>生僻字</li><li>生僻字</li><li>生僻字</li></ul><script>// 1.返回的是 获取过来元素对象的集合 以伪数组的形式存储的var lis = document.getElementsByTagName('li');console.log(lis);console.log(lis[0]);// 2. 我们想要依次打印里面的元素对象我们可以采取遍历的方式for (var i = 0; i < lis.length; i++) {console.log(lis[i]);}// 3. element.getElementsByTagName() 可以得到这个元素里面的某些标签var nav = document.getElementById('nav'); // 这个获得nav 元素var navLis = nav.getElementsByTagName('li');console.log(navLis);</script>
</body>
注意事项:
-
因为得到的是一个对象的集合,所以我们想要操作里面的元素就需要遍历
-
得到元素对象是动态的。
-
getElementsByTagName()获取到是
动态集合
,即:当页面增加了标签,这个集合中也就增加了元素。
1.3.3. H5新增获取元素方式
1.document.getElementsByClassName('类名'); // 根据类名返回元素对象集合2.document.querySelector('选择器'); // 根据指定选择器返回第一个元素对象3.document.querySelectorAll('选择器'); // 根据指定选择器返回
注意事项:
- querySelector 和 querySelectorAll 里面的选择器需要加符号,例如:
document.querySelector('#nav');
案例代码
<body><div class="box">盒子1</div><div class="box">盒子2</div><div id="nav"><ul><li>首页</li><li>产品</li></ul></div><script>// 1. getElementsByClassName 根据类名获得某些元素集合var boxs = document.getElementsByClassName('box');console.log(boxs);// 2. querySelector 返回指定选择器的第一个元素对象 切记 里面的选择器需要加符号 .box #navvar firstBox = document.querySelector('.box');console.log(firstBox);var nav = document.querySelector('#nav');console.log(nav);var li = document.querySelector('li');console.log(li);// 3. querySelectorAll()返回指定选择器的所有元素对象集合var allBox = document.querySelectorAll('.box');console.log(allBox);var lis = document.querySelectorAll('li');console.log(lis);</script>
</body>
1.3.4 获取特殊元素(body,html)
获取body元素
document.body // 返回body元素对象
获取html元素
document.documentElement // 返回html元素对象
1.4. 事件基础
1.4.1. 事件概述
网页中的每个元素都可以产生某些可以触发 JavaScript 的事件,例如,我们可以在用户点击某按钮时产生一个 事件,然后去执行某些操作。
1.4.2. 事件三要素
- 事件源(谁):触发事件的元素
- 事件类型(什么事件): 例如 click 点击事件
- 事件处理程序(做啥):事件触发后要执行的代码(函数形式),事件处理函数
案例代码
<body><button id="btn">唐伯虎</button><script>// 点击一个按钮,弹出对话框// 1. 事件是有三部分组成 事件源 事件类型 事件处理程序 我们也称为事件三要素//(1) 事件源 事件被触发的对象 谁 按钮var btn = document.getElementById('btn');//(2) 事件类型 如何触发 什么事件 比如鼠标点击(onclick) 还是鼠标经过 还是键盘按下//(3) 事件处理程序 通过一个函数赋值的方式 完成btn.onclick = function() {alert('点秋香');}</script>
</body>
1.4.3. 执行事件的步骤
第一步:获取事件源
第二步:注册事件(绑定事件)
第三步:添加事件处理程序(采取函数赋值形式)
案例代码
<body><div>123</div><script>// 执行事件步骤// 点击div 控制台输出 我被选中了// 1. 获取事件源var div = document.querySelector('div');// 2.绑定事件 注册事件// div.onclick // 3.添加事件处理程序 div.onclick = function() {console.log('我被选中了');}</script>
</body>
1.4.4. 常见的鼠标事件
鼠标事件 | 触发条件 |
---|---|
onclick | 鼠标点击左键触发 |
onmouseover | 鼠标经过触发 |
onmouseout | 鼠标离开触发 |
onfocus | 获得鼠标焦点触发 |
onblur | 失去鼠标焦点触发 |
onmousemove | 鼠标移动触发 |
onmouseup | 鼠标弹起触发 |
onmousedown | 鼠标按下触发 |
1.5. 操作元素
JavaScript的 DOM 操作可以改变网页内容、结构和样式,我们可以利用 DOM 操作元素来改变元素里面的内容、属性等。(注意:这些操作都是通过元素对象的属性实现的
)
1.5.1. 改变元素内容(获取或设置)
element.innerText // 从起始位置到终止位置的内容,但它去除html标签,同时空格和换行也会去掉element.innerHTML // 起始位置到终止位置的全部内容,包括html标签,同时保留空格和换行
innerText改变元素内容
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>重点案例</title><style>div,p {width: 300px;height: 30px;line-height: 30px;color: #fff;background-color: pink;}</style>
</head><body><button>显示当前系统时间</button><div>某个时间</div><p>1123</p><script>// 当我们点击了按钮,div里面的文字会发生变化// 1. 获取元素 var 谁 = document.querySelector()var btn = document.querySelector('button');var div = document.querySelector('div');// 2.注册事件 谁.怎么做 = 效果 点击后再修改内容btn.onclick = function () {// div.innerText = '2019-6-6';div.innerHTML = getDate();}// 无参数 必须有返回值function getDate() {var date = new Date();console.log(date) // Tue Aug 25 2020 22:59:50 GMT+0800 (中国标准时间)// 我们写一个 2019年 5月 1日 星期三var year = date.getFullYear();console.log('年', year) // 2020var month = date.getMonth() + 1;console.log('月', month) // 8var dates = date.getDate();console.log('日', dates) // 25var arr = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];var day = date.getDay();console.log('星期几', day) // 2return '今天是:' + year + '年' + month + '月' + dates + '日 ' + arr[day];}// 我们元素可以不用添加事件;不用点击按钮刷新页面就可以修改内容 谁.innerHTML 修改谁里面的内容var p = document.querySelector('p');p.innerHTML = getDate();</script>
</body></html>
innerText和innerHTML的区别
- 获取内容时的区别:
innerText会去除空格和换行,而innerHTML会保留空格和换行
- 设置内容时的区别:
innerText不会识别html,而innerHTML会识别
案例代码
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title>
</head><body><div><span>显示吗?</span></div><p>我是文字<span>123</span></p><script>// 获取元素里面的内容 document.querySelector()// innerText 和 innerHTML的区别 // 语法:事件源.innerText 或者 事件源.innerHTML 这两个属性是可读写的// 疑惑点:// 1. innerText (非标准:平时不常用) 不识别html标签(标签会直接显示) 去除空格和换行// 2. innerHTML ( W3C标准:平时常用) 识别html标签(标签不会显示) 保留空格和换行的// 1.定义事件源后、直接打印 div里面的内容var div = document.querySelector('div');console.log(div.innerText); // 显示吗?console.log(div.innerHTML); // <span>显示吗?</span>// 2.定义事件源后、先修改div里面的内容;再打印div里面的内容var div = document.querySelector('div');div.innerText = '<strong>今天是:</strong> 2019';console.log(div.innerText); // <strong>今天是:</strong> 2019console.log(div.innerHTML); // <strong>今天是:</strong> 2019// 正文:// 1. innerText (非标准:平时不常用) 不识别html标签(标签会直接显示) 去除空格和换行 var div = document.querySelector('div');div.innerText = '<strong>今天是:</strong> 2019'; // <strong>今天是:</strong> 2019console.log(div.innerText); // <strong>今天是:</strong> 2019console.log(div.innerHTML);// 2. innerHTML ( W3C标准:平时常用) 识别html标签(标签不会显示) 保留空格和换行的// div.innerHTML = '<strong>今天是:</strong> 2019'; // 今天是: 2019 注意: 今天是: 会有加粗效果// 这两个属性是可读写的 可以获取元素里面的内容 document.querySelector()var p = document.querySelector('p');console.log(p.innerText); // 我是文字 123 innerText去除空格和换行 让多行内容在一行显示console.log(p.innerHTML); // 我是文字 <span>123</span> 这两个内容不再一行显示</script>
</body></html>
1.5.2. 常用元素的属性操作
- innerText、innerHTML 改变元素内容
- src、href
- id、alt、title
获取属性的值
元素对象.属性名
设置属性的值
元素对象.属性名 = 值
案例代码
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title><style>img {width: 300px;}</style>
</head><body><button id="ldh">刘德华</button><button id="zxy">张学友</button> <br><img src="images/ldh.jpg" alt="" title="刘德华"><script>// 修改图片的元素属性 src 改变为 对象.属性// 1. 获取元素var ldh = document.getElementById('ldh');var zxy = document.getElementById('zxy');var img = document.querySelector('img');// 2. 注册事件 处理程序zxy.onclick = function() {img.src = 'images/zxy.jpg';img.title = '张学友思密达';}ldh.onclick = function() {img.src = 'images/ldh.jpg';img.title = '刘德华';}</script>
</body></html>
1.5.3. 案例:分时问候
案例:分时显示不同图片,显示不同问候语
根据不同时间,页面显示不同图片,同时显示不同的问候语
-
如果上午时间打开页面:显示上午好,显示上午的图片
-
如果下午时间打开页面:显示下午好,显示下午的图片
-
如果晚上时间打开页面:显示晚上好,显示晚上的图片
案例分析:
- 根据系统不同的时间来判断,所以需要用到日期内置对象
- 利用多分支语句来设置不同的图片
- 需要一个图片,并且根据时间修改图片,就需要用到操作元素src属性
- 需要一个div元素,显示不同问候语,修改元素内容即可
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title><style>img {width: 300px;}</style>
</head><body><img src="images/s.gif" alt=""><div>上午好</div><script>// 思路:// 根据系统不同时间来判断,所以需要用到日期内置对象// 利用多分支语句来设置不同的图片// 需要一个图片,并且根据时间修改图片,就需要用到操作元素src属性 img.src// 需要一个div元素,显示不同问候语,修改元素内容即可 div.innerHTML// 1.获取元素 因为要修改图片和内容,所以需要获取 img 和 divvar img = document.querySelector('img');var div = document.querySelector('div');// 2. 得到当前的小时数var date = new Date();var h = date.getHours();// 3. 判断小时数改变图片(img.src) 和 文字信息(div.innerHTML)if (h < 12) {img.src = 'images/s.gif';div.innerHTML = '亲,上午好,好好写代码';} else if (h < 18) {img.src = 'images/x.gif';div.innerHTML = '亲,下午好,好好写代码';} else {img.src = 'images/w.gif';div.innerHTML = '亲,晚上好,好好写代码';}</script>
</body></html>
1.5.4. 表单元素的属性操作
利用Dom可以操作如下表单元素的属性:
type value checked selected disabled
获取属性的值
元素对象.属性名
设置属性的值
元素对象.属性名 = 值
表单元素中有一些属性如:disabled、checked、selected,元素对象的这些属性的值是布尔型。
案例代码
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title>
</head><body><button>按钮</button><input type="text" value="输入内容"><script>// 1. 获取元素var btn = document.querySelector('button');var input = document.querySelector('input');// 2. 注册事件 处理程序btn.onclick = function() {// input.innerHTML = '点击了'; 这个是 普通盒子 比如 div 标签里面的内容// 注意(重点):表单里面的值 文字内容是通过 value 来修改的input.value = '被点击了';// 如果想要某个表单被禁用 不能再点击 disabled 我们想要这个按钮 button禁用// btn.disabled = true; 法1this.disabled = true; // 法2(平时经常使用)// this 指向的是事件函数的调用者 btn}</script>
</body></html>
1.5.5. 案例:仿京东显示密码
点击按钮将密码框切换为文本框,并可以查看密码明文
案例分析:
-
核心思路:点击眼睛按钮,把密码框类型改为文本框就可以看见里面的密码
-
一个按钮两个状态,点击一次,切换为文本框,继续点击一次切换为密码框
-
算法:利用一个flag变量,来判断flag的值。
如果是1就切换为文本框,flag设置为0,
如果是0就切换为密码框,flag设置为1
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title><style>.box {position: relative;width: 400px;border-bottom: 1px solid #ccc;margin: 100px auto;}.box input {width: 370px;height: 30px;border: 0;outline: none;}.box img {position: absolute;top: 2px;right: 2px;width: 24px;}</style>
</head><body><div class="box"><label for=""><img src="images/close.png" alt="" id="eye"></label><input type="password" name="" id="pwd"></div><script>// 1. 获取元素:img 和 input var eye = document.getElementById('eye');var pwd = document.getElementById('pwd');// 2. 注册事件 处理程序var flag = 0;// 核心:3.往后同一个按钮有2种操作,需要引用 flag// 先点击马上做判断:所以判断语句封装在处理程序里面eye.onclick = function() {// 注意(核心思路): 点击一次之后, flag 一定要变化 重新给flag赋值// 第一次flag = 0,操作完之后;直接重新给flag赋值:flag = 1;// 第二次flag直接走else里面的代码;操作完之后;直接重新给flag赋值:flag = 0;// 重复走第一次flag = 0时的操作....依次循环// flag == 0 睁眼 flag==1 闭眼if (flag == 0) {pwd.type = 'text';eye.src = 'images/open.png';flag = 1; // 赋值操作} else {pwd.type = 'password';eye.src = 'images/close.png';flag = 0;}}</script>
</body></html>
1.5.6. 样式属性操作
我们可以通过 JS 修改元素的大小、颜色、位置等样式。
常用方式
element.style // 行内样式操作element.className // 类名样式操作
方式1:通过操作style属性
元素对象的style属性也是一个对象!
元素对象.style.样式属性 = 值;
注意:
- JS 里面的样式采取驼峰命名法,比如
fontSize
、backgroundColor
- JS 修改 style 样式操作,产生的是行内样式,css权重比较高
案例代码
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title><style>div {width: 200px;height: 200px;background-color: pink;}</style>
</head><body><div></div><script>// 1. 获取元素var div = document.querySelector('div');// 2. 注册事件 处理程序div.onclick = function() {// div.style里面的属性 采取驼峰命名法 this.style.属性(属性采取驼峰命名法) = '';this.style.backgroundColor = 'purple';this.style.width = '250px';}</script>
</body></html>
案例:淘宝点击关闭二维码
案例分析:
- 核心思路:利用样式的显示和隐藏完成,display: none 隐藏元素;display: block 显示元素
- 点击按钮,就让这个二维码盒子隐藏起来即可
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title><style>.box {position: relative;width: 74px;height: 88px;border: 1px solid #ccc;margin: 100px auto;font-size: 12px;text-align: center;color: #f40;/* display: block; */}.box img {width: 60px;margin-top: 5px;}.close-btn {position: absolute;top: -1px;left: -16px;width: 14px;height: 14px;border: 1px solid #ccc;line-height: 14px;font-family: Arial, Helvetica, sans-serif;cursor: pointer;}</style>
</head><body><div class="box">淘宝二维码<img src="images/tao.png" alt=""><i class="close-btn">×</i></div><script>// 1. 获取元素 var btn = document.querySelector('.close-btn');var box = document.querySelector('.box');// 2.注册事件 程序处理 btn.onclick = function() {box.style.display = 'none';}</script>
</body></html>
案例:循环精灵图背景
案例分析:
- 首先精灵图图片排列有规律的
- 核心思路:利用for循环,修改精灵图片的 背景位置:background-position
- 剩下的就是考验你的数学功底了
- 让循环里面的i索引号 * 44就是每个图片的y坐标
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title><style>* {margin: 0;padding: 0;}li {list-style-type: none;}.box {width: 250px;margin: 100px auto;}.box li {float: left;width: 24px;height: 24px;background-color: pink;margin: 15px;background: url(images/sprite.png) no-repeat;}</style>
</head><body><div class="box"><ul><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li><li></li></ul></div><script>// 1. 获取元素 所有的小li var lis = document.querySelectorAll('li');for (var i = 0; i < lis.length; i++) {// 核心思路1: 让索引号 乘以 44 就是每个li 的背景y坐标 index就是我们的y坐标var index = i * 44;// 核心2:'0 -44px' 然后把44删除,采用引引加加'+index+' 效果是: '0 -' + index + 'px'lis[i].style.backgroundPosition = '0 -' + index + 'px';}</script>
</body></html>
案例:显示隐藏文本框内容
案例分析:
- 首先表单需要2个新事件,获得焦点onfocus失去焦点 onblur
- 如果获得焦点,判断表单里面内容是否为默认文字,如果是默认文字,就清空表单内容
- 如果失去焦点,判断表单内容是否为空,如果为空,则表单内容改为默认文字
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title><style>input {color: #999;}</style>
</head><body><input type="text" value="手机"><script>// 1.获取元素var text = document.querySelector('input');// 2.注册事件 获得焦点事件 onfocus text.onfocus = function() {// console.log('得到了焦点');if (this.value === '手机') {this.value = ''; // 把里面的提示信息清空}// 获得焦点需要把文本框里面的文字颜色变黑// 注意: this.style.color = '#333'; 在if语句之外书写this.style.color = '#333';}// 3. 注册事件 失去焦点事件 onblurtext.onblur = function() {// console.log('失去了焦点');// 失去焦点时,如果里面的内容为空,那么显示提示信息'手机'if (this.value === '') {this.value = '手机';}// 失去焦点需要把文本框里面的文字颜色变浅色// 注意: this.style.color = '#999'; 在if语句之外书写this.style.color = '#999';}</script></body></html>
方式2:通过操作className属性
元素对象.className = 值;
注意事项:
- 如果样式修改较多,可以采取操作类名方式更改元素样式。
- class因为是个保留字,因此使用className来操作元素类名属性
- className 会直接更改元素的类名,会覆盖原先的类名。
案例代码
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title><style>div {width: 100px;height: 100px;background-color: pink;}.change {background-color: purple;color: #fff;font-size: 25px;margin-top: 100px;}</style>
</head><body><div class="first">文本</div><script>// 1. 使用 element.style 获得修改元素样式 如果样式比较少 或者 功能简单的情况下使用var test = document.querySelector('div');test.onclick = function() {// this.style.backgroundColor = 'purple';// this.style.color = '#fff';// this.style.fontSize = '25px';// this.style.marginTop = '100px';// 让我们当前元素的类名改为了 change this.className = 'change';// 2. 我们可以通过 修改元素的className更改元素的样式 适合于样式较多或者功能复杂的情况// 3. 如果想要保留原先的类名,我们可以这么做 多类名选择器 this.className = 'first change';// this.className = 'change';this.className = 'first change';}</script>
</body></html>
案例:密码框格式提示错误信息
案例分析:
- 首先判断的事件是表单失去焦点 onblur
- 如果输入正确则提示正确的信息颜色为绿色小图标变化
- 如果输入不是6到16位,则提示错误信息颜色为红色 小图标变化
- 因为里面变化样式较多,我们采取className修改样式
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>仿新浪注册页面</title><style>div {width: 600px;margin: 100px auto;}.message {display: inline-block;font-size: 12px;color: #999;background: url(images/mess.png) no-repeat left center;padding-left: 20px;}.wrong {color: red;background-image: url(images/wrong.png);}.right {color: green;background-image: url(images/right.png);}</style>
</head><body><div class="register"><input type="password" class="ipt"><p class="message">请输入6~16位密码</p></div><script>// 思路:// 首先判断的事件是表单失去焦点 onblur// 如果输入正确则提示正确的信息 1.颜色为绿色 2.小图标变化// 如果输入不是6到16位,则 1.提示错误信息修改(class类名.innerHTML) 2.颜色为红色 3.小图标变化// 因为里面变化样式较多,我们采取className修改样式// 1.获取元素 input 和 p var ipt = document.querySelector('.ipt');var message = document.querySelector('.message');//2. 注册事件 失去焦点ipt.onblur = function() {// 根据表单里面值的长度 ipt.value.lengthif (this.value.length < 6 || this.value.length > 16) {// console.log('错误');message.className = 'message wrong';message.innerHTML = '您输入的位数不对要求6~16位';} else {message.className = 'message right';message.innerHTML = '您输入的正确';}}</script>
</body></html>
案例:开关灯
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title>
</head><body><button id="btn">开关灯</button><script>var btn = document.getElementById('btn');var flag = 0;btn.onclick = function() {if (flag == 0) {document.body.style.backgroundColor = 'black';flag = 1;} else {document.body.style.backgroundColor = '#fff';flag = 0;}}</script>
</body></html>
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
相关文章
- 基础4-数据转换/数据格式化/数据校验
<form/>表单提交时,其是如何与实体类进行一一映射的呢?映射过程中是如何实现数据类型转换、格式化、校验的呢?SpringMVC映射form表单过程如下:①SpringMVC主框架将ServletRequest对象以及目标方法的入参实例传递给WebDataBinderFactory实例,来创建DataBinder实例对象…...
2024/4/19 2:10:26 - 2020低压电工考试题库及低压电工实操考试视频
题库来源:安全生产模拟考试一点通公众号小程序2020低压电工证考试及低压电工模拟考试软件,包含低压电工证考试答案解析及低压电工模拟考试软件练习。由安全生产模拟考试一点通公众号结合国家低压电工考试最新大纲及低压电工考试真题出具,有助于低压电工在线考试考前练习。1、…...
2024/5/3 4:16:34 - 想成为淘宝美工需要学什么?零基础怎么快速入门?
本文由:“学设计上兔课网”原创,图片素材来自网络,仅供学习分享想成为淘宝美工需要学什么?零基础怎么快速入门?最近就有不少小伙伴私信小编,大多是问淘宝美工需要掌握哪些知识?新手要如何快速入门等问题,那接下来小编把给他们的回复整理一下,也跟大家分享分享,有需要…...
2024/4/26 17:35:45 - 开源数据库MySQL DBA运维实战 SQL3
DCL 权限级别 1. Global level 所有库,所有表的权限。 2. Database level 某个数据库中的所有表的权限。 3 .Table level 库中的某个表的权限 4. Column level 表中的某个字段,的权限。 mysql用户管理 1. 创建用户 示例 CREATE USER user1@‘localhost’ …...
2024/5/1 11:31:09 - js添加三种方式
<!DOCTYPE html> <html lang="zh"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>js三种添加方式</title><!--内嵌--&…...
2024/4/23 11:29:23 - 安装RabbitMQ
一:这里讲的都是在Linux上进行安装使用的。安装rabbitmq的时候要先安装Erlang erlang官网:https://www.erlang.org/ 安装Erlang: 1.上传安装包依次执行命令: 1)rpm -ivh esl-erlang-17.3-1.x86_64.rpm --force --nodeps2)rpm -ivh esl-erlang_17.3-1centos6_amd64.rpm --…...
2024/4/12 3:05:59 - gdb调试qemu报错:(gdb) break mips_fuloong2e_machine_init Function “cpu_mips_irq_init_cpu“ not defined.
报错原因:编译qemu时没有使能debug解决办法:./configure 时加上--enable-debug即可eg:./configure --enable-debug再make编译最后make install后调试即可解决该问题。...
2024/4/22 19:29:53 - [PHP面试题]跳槽面试必背-自己最近5年的整理(二)
看完这些还怕进不了大厂?[PHP面试题]跳槽面试必背-自己最近5年的整理(一)[PHP面试题]跳槽面试必背-自己最近5年的整理(三)PHP经典面试题集(含答案)面试12家公司,收获9个offer,2020年PHP 面试问题100 个常见的 PHP 面试题和答案分享PHP 面试遇到的问题,后期会不定期更…...
2024/4/18 21:23:11 - VMware创建与虚拟机
VMware创建与虚拟机VMware下载VMware安装VMware搭建虚拟机VMware网络配置网络模式介绍参考链接 VMware下载 首先我们访问官网地址 https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.html https://www.vmware.com/cn.html 注意:没有账号必须先注…...
2024/4/21 16:43:17 - 【华为HCIA-5G学习笔记】05H_5G商业应用
目录1. 5G商业价值及发展2035年5G将在全球驱动12万亿美元的经济活动2. 5G商业应用案例2.1 eMBB商业应用及案例2.1.1 资费演进,释放MBB流量快速增长潜力2.1.2 5G帮助运营商支撑未来10倍流量增长2.1.3 Cloud X 3个重要的eMBB业务2.1.4 5G时代的应用将基于端管云协同:Cloud X2.1…...
2024/4/12 3:05:55 - 与第三方Api接口对接需要注意的点!
前言通常我们的系统在与第三方系统对接的时候,有许多种方式实现:系统api接口、共享缓存、数据库共享、调用消息队列、页面跳转、共享数据文件等,在实际生产中,系统api接口的对接方式是占了很大部分的。最近,我负责公司电商系统关于多家第三方业务的对接,采用的对接方式也…...
2024/4/12 3:05:54 - C语言-银行系统的简单实现(存钱,取钱,保存用户信息,销户,开户,转账,查询等功能,使用消息队列达到2个不同进程之间的相互通信)
主要分为两人大模块: 客户端 1、进入时的功能开户、销户、登录、解锁 开户:输入姓名、身份证号、设置密码,如果开户成功,则服务器上保存一个账号信号(一个账号存一个文件,文件名建议是账号)。 销户:输入帐号、密码,服务器询问是否确认销户,如果确认则服务器删除帐号文…...
2024/4/19 5:39:16 - BST删除操作(二叉搜索树)
BST的删除操作向来被认为难度很大,因为它不同于插入,定位到了那个该插入的位置选择左边/右边进行插入即可,而删除操作则需要分成以下三种情况进行讨论,删除难度从上到下依次递增:case1 叶子结点case2 只有左子树/只有右子树的结点case3 左子树和右子树都存在的结点 其实ca…...
2024/4/21 3:08:59 - PYcharm联合qtdesign实现python图形可视化GUI编程
PYcharm联合qtdesign实现python图形可视化GUI编程## 准备工具环境配置1、pycharm 配置及其出现的错误。① 建立Qtdesign和PYuic两个EXternal Tools② 建立Qtdesign,点击 “+”② 建立PYuic,点击 “+”③ pycharm 调用qtdesign③ pycharm 使.ui文件生成可运行的.py文件插入测试…...
2024/4/26 19:09:28 - anaconda如何与本地python和谐共处
一直是pycharm重度用户,觉得anaconda这么笨重,并不想去用他。但是又想用spyder,于是我有次把他下下来后跟我本地的python安装包时又冲突了,然后果断放弃了anaconda,继续pycharm。最近才发现原来是我操作方法不对:原来在安装anaconda时可以取消添加环境变量,然后再在anacon…...
2024/4/25 9:05:45 - WordPress限制登录次数防破解插件Limit Login Attempts Reloaded
默认情况下,WordPress 对登录次数是没有限制的,密码错误可以无限次重新登录,这样的话我们的 WordPress 站点就很有可能被别人暴力破解密码,所以非常有必要安装一款限制登录次数防止被暴力破解密码的插件。以前 boke112 联盟推荐过Limit Login Attempts 插件,不过这款插件已…...
2024/4/12 3:05:49 - SpringCache
目录简介整合SpringCache简化缓存开发@Cacheable使用原理自定义缓存配置@CacheEvict的使用SpringCache的不足 简介 给每一个需要缓存的业务加上缓存的使用逻辑。 缓存的使用,就得考虑缓存的两种用法模式读模式:先从缓存中读取,缓存没有,在从数据库中读取,并把数据放到缓存…...
2024/4/28 23:18:22 - 虚拟机vmnet0、vmnet1和vmnet8的区别
vmnet0,实际上就是一个虚拟的网桥vmnet0,实际上就是一个虚拟的网桥,这个网桥有很若干个端口,一个端口用于连接你的Host,一个端口用于连接你的虚拟机,他们的位置是对等的,谁也不是谁的网关。所以在Bridged模式下,你可以让虚拟机成为一台和你的Host相同地位的机器。vmnet…...
2024/4/12 3:05:47 - 16、Filter、Listener
文章目录FilterListener Filter Filter:过滤器,用来过滤网站的请求。处理中文乱码(截止目前我们都是在每个Servlet上处理POST请求的中文乱码,和Response响应的中文乱码) 坏的请求等创建一个Maven的Web项目。 pom.xml <dependencies><dependency><groupId&g…...
2024/5/1 14:20:33 - esp8266局域网内的TCP通信实验
本文以esp8266作为STA,以手机WIFI作为AP,电脑端用网络调试助手与esp8266共同连接至手机WIFI并建立TCP连接,操作步骤与我在另一篇博文提到的一致。 下面分别以“esp8266作为TCP客户端”和“esp8266作为TCP服务器”两种情况进行实验示范:准备工具: USB转TTL、 esp8266模块、…...
2024/4/18 16:50:24
最新文章
- Sliding Windows
209,3,904,76,438,560,239 套路: 初始化左指针,初始化右指针,初始化窗口,初始化结果 右指针遍历扩大窗口 进行窗口判断 左指针遍历缩小窗口 最大值在扩…...
2024/5/3 4:20:58 - 梯度消失和梯度爆炸的一些处理方法
在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...
2024/3/20 10:50:27 - Ubuntu磁盘扩容
使用 df -h命令查看系统磁盘控件的使用情况: [samspobosrv:~]$ df -h Filesystem Size Used Avail Use% Mounted on udev 7.8G 0 7.8G 0% /dev tmpfs 1.6G 1.7M 1.…...
2024/5/2 12:55:10 - Windows 2008虚拟机安装、安装VM Tools、快照和链接克隆、添加硬盘修改格式为GPT
一、安装vmware workstation软件 VMware workstation的安装介质,获取路径: 链接:https://pan.baidu.com/s/1AUAw_--yjZAUPbsR7StOJQ 提取码:umz1 所在目录:\vmware\VMware workstation 15.1.0 1.找到百度网盘中vmwa…...
2024/5/1 9:48:28 - 416. 分割等和子集问题(动态规划)
题目 题解 class Solution:def canPartition(self, nums: List[int]) -> bool:# badcaseif not nums:return True# 不能被2整除if sum(nums) % 2 ! 0:return False# 状态定义:dp[i][j]表示当背包容量为j,用前i个物品是否正好可以将背包填满ÿ…...
2024/5/2 11:19:01 - 【Java】ExcelWriter自适应宽度工具类(支持中文)
工具类 import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellType; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet;/*** Excel工具类** author xiaoming* date 2023/11/17 10:40*/ public class ExcelUti…...
2024/5/2 16:04:58 - Spring cloud负载均衡@LoadBalanced LoadBalancerClient
LoadBalance vs Ribbon 由于Spring cloud2020之后移除了Ribbon,直接使用Spring Cloud LoadBalancer作为客户端负载均衡组件,我们讨论Spring负载均衡以Spring Cloud2020之后版本为主,学习Spring Cloud LoadBalance,暂不讨论Ribbon…...
2024/5/2 23:55:17 - TSINGSEE青犀AI智能分析+视频监控工业园区周界安全防范方案
一、背景需求分析 在工业产业园、化工园或生产制造园区中,周界防范意义重大,对园区的安全起到重要的作用。常规的安防方式是采用人员巡查,人力投入成本大而且效率低。周界一旦被破坏或入侵,会影响园区人员和资产安全,…...
2024/5/2 9:47:31 - VB.net WebBrowser网页元素抓取分析方法
在用WebBrowser编程实现网页操作自动化时,常要分析网页Html,例如网页在加载数据时,常会显示“系统处理中,请稍候..”,我们需要在数据加载完成后才能继续下一步操作,如何抓取这个信息的网页html元素变化&…...
2024/5/2 9:47:31 - 【Objective-C】Objective-C汇总
方法定义 参考:https://www.yiibai.com/objective_c/objective_c_functions.html Objective-C编程语言中方法定义的一般形式如下 - (return_type) method_name:( argumentType1 )argumentName1 joiningArgument2:( argumentType2 )argumentName2 ... joiningArgu…...
2024/5/2 6:03:07 - 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】
👨💻博客主页:花无缺 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】🌏题目描述🌏输入格…...
2024/5/2 9:47:30 - 【ES6.0】- 扩展运算符(...)
【ES6.0】- 扩展运算符... 文章目录 【ES6.0】- 扩展运算符...一、概述二、拷贝数组对象三、合并操作四、参数传递五、数组去重六、字符串转字符数组七、NodeList转数组八、解构变量九、打印日志十、总结 一、概述 **扩展运算符(...)**允许一个表达式在期望多个参数࿰…...
2024/5/2 23:47:43 - 摩根看好的前智能硬件头部品牌双11交易数据极度异常!——是模式创新还是饮鸩止渴?
文 | 螳螂观察 作者 | 李燃 双11狂欢已落下帷幕,各大品牌纷纷晒出优异的成绩单,摩根士丹利投资的智能硬件头部品牌凯迪仕也不例外。然而有爆料称,在自媒体平台发布霸榜各大榜单喜讯的凯迪仕智能锁,多个平台数据都表现出极度异常…...
2024/5/2 5:31:39 - Go语言常用命令详解(二)
文章目录 前言常用命令go bug示例参数说明 go doc示例参数说明 go env示例 go fix示例 go fmt示例 go generate示例 总结写在最后 前言 接着上一篇继续介绍Go语言的常用命令 常用命令 以下是一些常用的Go命令,这些命令可以帮助您在Go开发中进行编译、测试、运行和…...
2024/5/3 1:55:15 - 用欧拉路径判断图同构推出reverse合法性:1116T4
http://cplusoj.com/d/senior/p/SS231116D 假设我们要把 a a a 变成 b b b,我们在 a i a_i ai 和 a i 1 a_{i1} ai1 之间连边, b b b 同理,则 a a a 能变成 b b b 的充要条件是两图 A , B A,B A,B 同构。 必要性显然࿰…...
2024/5/2 9:47:28 - 【NGINX--1】基础知识
1、在 Debian/Ubuntu 上安装 NGINX 在 Debian 或 Ubuntu 机器上安装 NGINX 开源版。 更新已配置源的软件包信息,并安装一些有助于配置官方 NGINX 软件包仓库的软件包: apt-get update apt install -y curl gnupg2 ca-certificates lsb-release debian-…...
2024/5/2 9:47:27 - Hive默认分割符、存储格式与数据压缩
目录 1、Hive默认分割符2、Hive存储格式3、Hive数据压缩 1、Hive默认分割符 Hive创建表时指定的行受限(ROW FORMAT)配置标准HQL为: ... ROW FORMAT DELIMITED FIELDS TERMINATED BY \u0001 COLLECTION ITEMS TERMINATED BY , MAP KEYS TERMI…...
2024/5/3 1:55:09 - 【论文阅读】MAG:一种用于航天器遥测数据中有效异常检测的新方法
文章目录 摘要1 引言2 问题描述3 拟议框架4 所提出方法的细节A.数据预处理B.变量相关分析C.MAG模型D.异常分数 5 实验A.数据集和性能指标B.实验设置与平台C.结果和比较 6 结论 摘要 异常检测是保证航天器稳定性的关键。在航天器运行过程中,传感器和控制器产生大量周…...
2024/5/2 8:37:00 - --max-old-space-size=8192报错
vue项目运行时,如果经常运行慢,崩溃停止服务,报如下错误 FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory 因为在 Node 中,通过JavaScript使用内存时只能使用部分内存(64位系统&…...
2024/5/2 9:47:26 - 基于深度学习的恶意软件检测
恶意软件是指恶意软件犯罪者用来感染个人计算机或整个组织的网络的软件。 它利用目标系统漏洞,例如可以被劫持的合法软件(例如浏览器或 Web 应用程序插件)中的错误。 恶意软件渗透可能会造成灾难性的后果,包括数据被盗、勒索或网…...
2024/5/2 9:47:25 - JS原型对象prototype
让我简单的为大家介绍一下原型对象prototype吧! 使用原型实现方法共享 1.构造函数通过原型分配的函数是所有对象所 共享的。 2.JavaScript 规定,每一个构造函数都有一个 prototype 属性,指向另一个对象,所以我们也称为原型对象…...
2024/5/2 23:47:16 - C++中只能有一个实例的单例类
C中只能有一个实例的单例类 前面讨论的 President 类很不错,但存在一个缺陷:无法禁止通过实例化多个对象来创建多名总统: President One, Two, Three; 由于复制构造函数是私有的,其中每个对象都是不可复制的,但您的目…...
2024/5/2 18:46:52 - python django 小程序图书借阅源码
开发工具: PyCharm,mysql5.7,微信开发者工具 技术说明: python django html 小程序 功能介绍: 用户端: 登录注册(含授权登录) 首页显示搜索图书,轮播图࿰…...
2024/5/2 7:30:11 - 电子学会C/C++编程等级考试2022年03月(一级)真题解析
C/C++等级考试(1~8级)全部真题・点这里 第1题:双精度浮点数的输入输出 输入一个双精度浮点数,保留8位小数,输出这个浮点数。 时间限制:1000 内存限制:65536输入 只有一行,一个双精度浮点数。输出 一行,保留8位小数的浮点数。样例输入 3.1415926535798932样例输出 3.1…...
2024/5/3 1:54:59 - 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...
解析如下:1、长按电脑电源键直至关机,然后再按一次电源健重启电脑,按F8健进入安全模式2、安全模式下进入Windows系统桌面后,按住“winR”打开运行窗口,输入“services.msc”打开服务设置3、在服务界面,选中…...
2022/11/19 21:17:18 - 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。
%读入6幅图像(每一幅图像的大小是564*564) f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...
2022/11/19 21:17:16 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...
win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面,在等待界面中我们需要等待操作结束才能关机,虽然这比较麻烦,但是对系统进行配置和升级…...
2022/11/19 21:17:15 - 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...
有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows,请勿关闭计算机”的提示,要过很久才能进入系统,有的用户甚至几个小时也无法进入,下面就教大家这个问题的解决方法。第一种方法:我们首先在左下角的“开始…...
2022/11/19 21:17:14 - win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...
置信有很多用户都跟小编一样遇到过这样的问题,电脑时发现开机屏幕显现“正在配置Windows Update,请勿关机”(如下图所示),而且还需求等大约5分钟才干进入系统。这是怎样回事呢?一切都是正常操作的,为什么开时机呈现“正…...
2022/11/19 21:17:13 - 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...
Win7系统开机启动时总是出现“配置Windows请勿关机”的提示,没过几秒后电脑自动重启,每次开机都这样无法进入系统,此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一:开机按下F8,在出现的Windows高级启动选…...
2022/11/19 21:17:12 - 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...
有不少windows10系统用户反映说碰到这样一个情况,就是电脑提示正在准备windows请勿关闭计算机,碰到这样的问题该怎么解决呢,现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法:1、2、依次…...
2022/11/19 21:17:11 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...
今天和大家分享一下win7系统重装了Win7旗舰版系统后,每次关机的时候桌面上都会显示一个“配置Windows Update的界面,提示请勿关闭计算机”,每次停留好几分钟才能正常关机,导致什么情况引起的呢?出现配置Windows Update…...
2022/11/19 21:17:10 - 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...
只能是等着,别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚,只能是考虑备份数据后重装系统了。解决来方案一:管理员运行cmd:net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...
2022/11/19 21:17:09 - 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?
原标题:电脑提示“配置Windows Update请勿关闭计算机”怎么办?win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢?一般的方…...
2022/11/19 21:17:08 - 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...
关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关机提示 windows7 正在配…...
2022/11/19 21:17:05 - 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...
钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...
2022/11/19 21:17:05 - 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...
前几天班里有位学生电脑(windows 7系统)出问题了,具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面,长时间没反应,无法进入系统。这个问题原来帮其他同学也解决过,网上搜了不少资料&#x…...
2022/11/19 21:17:04 - 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...
本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法,并在最后教给你1种保护系统安全的好方法,一起来看看!电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中,添加了1个新功能在“磁…...
2022/11/19 21:17:03 - 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...
许多用户在长期不使用电脑的时候,开启电脑发现电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机。。.这要怎么办呢?下面小编就带着大家一起看看吧!如果能够正常进入系统,建议您暂时移…...
2022/11/19 21:17:02 - 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...
配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!配置windows update失败 还原更改 请勿关闭计算机&#x…...
2022/11/19 21:17:01 - 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...
不知道大家有没有遇到过这样的一个问题,就是我们的win7系统在关机的时候,总是喜欢显示“准备配置windows,请勿关机”这样的一个页面,没有什么大碍,但是如果一直等着的话就要两个小时甚至更久都关不了机,非常…...
2022/11/19 21:17:00 - 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...
当电脑出现正在准备配置windows请勿关闭计算机时,一般是您正对windows进行升级,但是这个要是长时间没有反应,我们不能再傻等下去了。可能是电脑出了别的问题了,来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...
2022/11/19 21:16:59 - 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...
我们使用电脑的过程中有时会遇到这种情况,当我们打开电脑之后,发现一直停留在一个界面:“配置Windows Update失败,还原更改请勿关闭计算机”,等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢࿰…...
2022/11/19 21:16:58 - 如何在iPhone上关闭“请勿打扰”
Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...
2022/11/19 21:16:57