前端作业(17)

news/2025/1/6 11:01:14/

之后的20个作业,学自【20个JavaScript经典案例-哔哩哔哩】 https://b23.tv/kVj1P5f,加上自己学习的知识组合

支付倒计时

1. 支付10s倒计时

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>支付10s倒计时</title><style>div {width: 200px;height: 200px;background-color: #eee;padding: 20px;margin: 0 auto;}button {margin: 30px 25px;}</style>
</head><body><div><table><tr><td>商品:</td><td>Web前端课程</td></tr><tr><td>原价:</td><td>1980元</td></tr><tr><td>现价:</td><td>1.98元</td></tr><tr><td>内容:</td><td>HTML</td></tr><tr><td>地址:</td><td>北京朝阳区</td></tr><tr></tr><tr><td><button>取消</button></td><td><button>确定</button></td></tr><tr></tr></table></div><script>// 用getElementsByTagName()方法获取button,因为支付是第二个,所以后跟[1],数组从0开始计数,所以是1// 1. 声明范围:// let块作用域// if (true) {//     let a1 = 'ss';//     console.log(a1); // ss// }// console.log(a1); // ReferenceError// var函数作用域// if (true) {//     var a1 = 'ss';//     console.log(a1); // ss// }// console.log(a1); //ss// 2. let定义变量不能预解析,提前调用会报错 ReferenceError; var相反,可以预解析,结果为 undefined// console.log(a1); // ReferenceError// console.log(a2); // undefined// let a1 = 'ss';// var a2 = 'as';document.getElementsByTagName('button')[1].onclick = function() {let res = window.confirm('您确定吗?');if (res) {location.href = 'payment.html';}}</script>
</body></html>

 ① 常用输入输出语句:

alert() = window.alert()浏览器弹出警示框
prompt()浏览器弹出输入框
console.log()浏览器控制台输出信息
document.write()HTML中输入信息

② document 对象,对HTML中的元素进行访问

body对 body 元素直接访问
cookie设置或返回文档相关的所有cookie
domain返回文档域名
title返回文档标题
URL返回文档URL
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><script>console.log(document.body.scrollWidth);console.log(document.cookie);console.log(document.domain);console.log(document.title);console.log(document.URL);</script>
</body></html>

write()写入HTML表达式或JS代码
getElementById()返回指定id的第一个对象的引用
getElementByName()返回指定名称的对象集合
getElementByTagName()返回指定标签名对象集合
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><script>document.write('I am');function reWrite() {document.write('rew');}</script><button onclick="reWrite()">onclick</button>
</body></html>

 

try1

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>div {margin: 0 auto;width: 500px;}#sec {color: red;font-size: 30px;}</style>
</head><body><div><h2>恭喜您,支付成功!</h2><p><span id="sec">10</span>s后自动返回首页</p><button>立即返回</button></div><script>window.onload = function() {let timer = 10;setInterval(() => {timer--;document.getElementById('sec').innerText = timer;if (timer == 0) {location.href = 'https://www.bilibili.com';}}, 1000);}document.getElementsByTagName('button')[0].onclick = function() {location.href = 'https://www.bilibili.com';}</script>
</body></html>

③ window 对象表浏览器的一个实例,双重角色,即JS访问浏览器窗口的一个接口和ECMAScript的全局对象。

(1)window对象是BOM(Browser Object Model)的核心对象,BOM其他对象,如document、location、navigator、screen、history,就是window对象的子对象。

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><script>var age = 18;console.log(age); //18console.log(window.age); //18function sayAge() {console.log(age);}sayAge(); //18window.sayAge(); //18// 全局定义了变量 age 和函数 sayAge(),// 则它们自动转为window对象的属性或方法,// window.age和window.sayAge()可以访问age和sayAge()</script>
</body></html>

 

 (2)window对象中两个函数

setTimeout(code/function,milliseconds);实现一个函数在指定的时间(毫秒)之后运行几毫秒后运行
setInterval(code/function,milliseconds);间隔几毫秒就重复运行
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><script>setTimeout(function() {console.log('hello');}, 1000);setInterval(function() {console.log('hello');}, 1000);var timer = setInterval(function() {console.log('hi');}, 2000);clearInterval(timer); //取消定时器</script>
</body></html>


http://www.ppmy.cn/news/1144304.html

相关文章

go进阶语法10问

1.说说go语言中的for循环 for 循环支持 continue 和 break 来控制循环&#xff0c;但是它提供了一个更高级的break&#xff0c;可以选择中断哪一个循环 for 循环不支持以逗号为间隔的多个赋值语句&#xff0c;必须使用平行赋值的方式来初始化多个变量。 2.Array 类型的值作为函…

远程实时监控管理:5G物联网技术助力配电站管理

配电站远程监控管理系统是基于物联网和大数据处理等技术的一种创新解决方案。该系统通过实时监测和巡检配电场所设备的状态、环境情况、安防情况以及火灾消防等信息&#xff0c;实现对配电站的在线实时监控与现场设备数据采集。 配电站远程监控管理系统通过回传数据进行数据系…

MySQL——单表与多表查询练习

MySQL 一、练习一二、练习二 一、练习一 这里首先将素材创建完毕&#xff0c;首先创建一个数据库并使用&#xff0c;这里我创建的数据库名为worker&#xff1a; 紧接着我们创建数据库表并创建表结构&#xff1a; 查看表结构&#xff1a; 接着我们导入数据&#xff1a; 这…

vscode更改为中文版本

方式一 在扩展里安装chinese插件 方式二 1.Ctrl&#xff0b; Shift &#xff0b;P&#xff08;commandshiftP&#xff09; 2.输入Configure display Language 3.选择zh-cn 这时候vscode会提示需要重启&#xff0c;点击restart重启vscode&#xff0c;重启后vscode就会显示中…

记录在搭建Jenkins时,所遇到的坑,以及解决方案

项目场景&#xff1a; 记录在搭建Jenkins时,所遇到的坑,以及解决方案.问题描述1 在使用Jenkins构建时,报错如下&#xff1a; cp: cannot stat /project/xx/xxxx/dist/: No such file or directory Build step Execute shell marked build as failure Finished: FAILURE解决方…

基于Keil a51汇编 —— MPL 宏定义

MPL 宏 Ax51汇编程序支持的宏处理语言&#xff08;MPL&#xff09;是一种字符串替换工具&#xff0c;使您能够编写可修复的代码块&#xff08;宏&#xff09;并将其插入源文本中的一个或多个位置。 宏处理器查看源文件的方式与汇编程序不同。 对于汇编程序来说&#xff0c;源…

linux,write:xxx has messages disabled 与 Ubuntu多用户同时登录的问题 ubuntu 20.04

write&#xff1a;xxx has messages disabled 问题 被这问题折磨了好久&#xff0c;搜都搜不到&#xff0c;还是灵机一动想到的。 很多 帖子说&#xff0c;要使用 mesg y用了还是没有用&#xff0c;后面我登录了很多用户&#xff0c;发现只有root用户可以给别的用户使用write…

Qt中QTimer定时器的用法

Qt中提供了两种定时器的方式一种是使用Qt中的事件处理函数&#xff0c;另一种就是Qt中的定时器类QTimer。 使用QTimer类&#xff0c;需要创建一个QTimer类对象&#xff0c;然后调用其start()方法开启定时器&#xff0c;此后QTimer对象就会周期性的发出timeout()信号。 1.QTimer…