心情再差,也还是要拿起我的 JavaScript 实战重点代码

昨天与国家奖学金失之交臂,伤心的哭了一晚上,生活也还是要继续,抹完了眼泪今天继续干我的JavaScript!

目录

  • 一、JavaScript的几个常用函数
    • 实战下载框制作
  • 二、如何获取一个或者多个元素
    • 2.1根据ID查找
    • 2.2根据class查找
    • 2.3根据标签查找
    • 2.4创建节点
    • 2.5删除一个元素
    • 2.6如何修改属性
    • 2.7更改img标签的src属性值
    • 2.8修改class
    • 2.9使用innerHTML来修改内部内容
    • 2.10更换页面样式表(网页换肤)
  • 三、特殊值及转义字符
    • 3.1两个特殊数值NaN和Infinity
    • 3.2转义字符的用法
    • 3.3未定义(undefined)和空(null)
    • 3.4Javascript中的类型转换
      • 3.4.1强制类型转换
      • 3.4.2自动类型转换
  • 四、(实战)倒计时的制作

一、JavaScript的几个常用函数

typeof函数查看变量类型
typeof(变量名)

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title></head><body><script type="text/javascript">var value = '甜甜';    // string(字符串)console.log(typeof value);value = 21;		//  number(数字)console.log(typeof value);value = true; //  boolean(布尔型)console.log(typeof value);</script></body>
</html>

去运行一下就知道啦,右键检查,去控制台。

setInterval函数(定时器)

setInterval(function(){//每秒钟执行一次此处的代码
},100);

见下面那个实战
setTimeout (延迟执行)

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title></head><body>请等我5秒钟,我会夸你帅!<script>setTimeout("alert('你是最帅的,最帅的人要多等候5秒钟')", 5000 )</script></body>
</html>

实战下载框制作

loading.html

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><style type="text/css">*{margin: 0;padding: 0;}#box1{width: 700px;height: 30ox;border: solid 1px khaki;margin-top: 50px;margin-left: 10px;}#box2{width: 0px;height: 30px;background-color: red;}#box3{margin-left: 10px;color: black;}</style></head><body><div id="box1"><div id="box2"></div></div><span id="box3"></span><script type="text/javascript">var i=0;var timger1=setInterval(function(){i=i+10;document.getElementById("box2").style.width=i+"px";document.getElementById("box3").innerHTML=parseInt((i/700)*100)+"%";if(i>=700){clearInterval(timger1);}},100);</script></body>
</html>

拿去运行一下就知道了哈哈哈哈

二、如何获取一个或者多个元素

要操作一个元素,首先要找到它。
我们一般有多种方法找到一个元素。
获取到一个元素之后,我们能做什么?

  1. 能设置这个元素的样式。
  2. 能获取和设置到这个元素里面的内容(带html结构的)。
  3. 能获取和设置这个元素里面的文本。
  4. 能获取和设置这个元素的属性。
  5. 能删除这个元素。

总结:有了js之后,就可以动态的修改DOM的结构。

这边分享一个小故事,我专业老师当时读的是数学专业,上了大学没有参加什么活动,一心搞学习,结果在大二的时候已经在实习了,完全自学代码,这是我很喜欢听他的课的原因,有次讲了他一个很搞笑的事情,面试的时候,被问到什么是dom,哈哈哈他不知道,就叫回去等结果(完蛋)哈哈哈哈,其实dom就是文档对象模型 (DOM) 是HTML和XML文档的编程接口

2.1根据ID查找

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title></head><style type="text/css"></style><body><a id=lovely href="https://blog.csdn.net/hanhanwanghaha">欢迎关注这个敲可爱的人鸭</a><a id=homepage https://me.csdn.net/hanhanwanghaha">此时我的javascript中没有执行ID为homepage的那段超链接</a><script type="text/javascript">var lovely = document.getElementById("lovely")alert(lovely.innerText)</script></body>
</html>

2.2根据class查找

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title></head><style type="text/css">.box1{height: 50px;width: 50px;background-color: gold;}.box2{height: 50px;width: 50px;background-color: gold;}.box3{height: 50px;width: 50px;background-color: gold;}</style><body><div class="box1"></div><div class="box1"></div><div class="box2"></div><div class="box3"></div><script type="text/javascript">var list_ok = document.getElementsByClassName("box1");for (var i=0;i<list_ok.length;i++){list_ok[i].style.border = "solid 3px red"; /* 遍历每一个找到的i */}</script></body>
</html>

2.3根据标签查找

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title></head><style type="text/css"></style><body><a id=lovely href="https://blog.csdn.net/hanhanwanghaha">欢迎关注这个敲可爱的人鸭</a><div id="homepage"><a href="https://www.qqtn.com/article/article_124916_1.html">齐天大圣</a></div><script type="text/javascript">var lovely = document.getElementsByTagName("div")alert(homepage.innerText)</script></body>
</html>

2.4创建节点

通过js动态地创建

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title><div id="div1"><p id="p1">这是第一个段落</p><p id="p2">这是第二个段落</p></div></head><style type="text/css"></style><body><script type="text/javascript">/*1.创建新的<p>元素*/var para=document.createElement("p");/*2.向<p>元素添加文本(首先创建文本节点),(此段代码创建了一个文本节点)*/var node=document.createTextNode("这是新的一个段落");/*向<p>元素追加这个文本节点*/para.appendChild(node);/*最后您必须向一个已有的元素追加这个元素*//*3.这段代码找到一个已有的元素*/var element=document.getElementById("div1");/*4.这段代码向这个已有的元素追加新元素*/element.appendChild(para);</script></body>
</html>

2.5删除一个元素

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title></head><body><div id="div1"><p id="p1">这是第一个段落</p><p id="p2">这是第二个段落</p></div><script type="text/javascript">/*找到父元素*/var parent=document.getElementById("div1");/*找到子元素*/var child=document.getElementById("p1");/*将子元素从父元素中删除*/parent.removeChild(child);</script></body>
</html>

如果只知道子元素的id,父元素没有id也没有class,可以使用下面的办法:

var child=document.getElementById("p1");
child.parentNode.removeChild(child);

2.6如何修改属性

HTML标签中,有什么属性,就用document.getElementById()得到这个元素之后,点什么属性再进行修改!

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title></title></head><style type="text/css"></style><body><a id=lovely href="https://blog.csdn.net/hanhanwanghaha">从我的主页转换到B站</a><script type="text/javascript">document.getElementById("lovely").href="https://www.bilibili.com/video/BV1fT4y137yU?from=search&seid=10946771334789229192";</script></body>
</html>

2.7更改img标签的src属性值

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>我的现女友和前女友</title></head><script type="text/javascript">function change(){document.getElementById("imgs").src = "img/Jolin.jpg";document.getElementById("imgs").title = "前女友"}</script><body><input type="button" value="change" onclick="change()"/><img id="imgs" src="img/pink.jpg" title="现女友" /></body>
</html>

图片可以自己找,我奉上两张个人特别喜欢的人

点击左下角的change

在这里插入图片描述
就会变成下图的照片

在这里插入图片描述
有什么,就点什么!常见的是:
img 标签的src属性;a标签的href属性、title属性。

2.8修改class

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>欢迎关注</title></head><body><p id="lovely" class=taga >欢迎关注这个敲可爱的人呀</p><script type="text/javascript">document.getElementById("lovely").className = "taglovely"</script></body>
</html>

见下图
在这里插入图片描述
在保留class="taga"的基础上再添加一个类名为 hanhan

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>欢迎关注</title></head><body><p id="lovely" class=taga >欢迎关注这个敲可爱的人呀</p><script type="text/javascript">document.getElementById("lovely").className += " hanhan"</script></body>
</html>

在这里插入图片描述

2.9使用innerHTML来修改内部内容

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>欢迎关注</title></head><body><div id="lovely">我是周杰伦的小可爱</div><script type="text/javascript">document.getElementById("lovely").innerHTML = "<div>总有一天要让周杰伦认识我</div>";</script></body>
</html>

2.10更换页面样式表(网页换肤)

这边看到一个写的很不错的代码

https://blog.csdn.net/suwu150/article/details/78313803

三、特殊值及转义字符

3.1两个特殊数值NaN和Infinity

NaN(计算错误,类型转换失败)
Infinity(除数为零)

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>欢迎关注</title></head><body><script type="text/javascript">console.log(1/0);</script></body>
</html>

运行到谷歌,右键检查就可以就会报下面的东东
在这里插入图片描述

<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>欢迎关注</title></head><body><script type="text/javascript">console.log("a"/0);</script></body>
</html>

运行到谷歌,右键检查就可以就会报下面的东东
在这里插入图片描述

3.2转义字符的用法

如果字符串的数据中出现特殊的符号需求使用转义字符(\)额外处理。

3.3未定义(undefined)和空(null)

变量定义后从未赋值时,该变量的默认值为undefined。
数据类型undefined只有一个值undefined。

注意:undefined代表,一个变量已经定义但是未赋值,默认值是undefined.

<!DOCTYPE html>
<html><head><meta http-equiv="Content-Type" content="text/html; charset="utf-8"><title>欢迎关注</title></head><body><script type="text/javascript">var a;console.log(a);//undefined</script></body>
</html>

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注!
欢迎关注微信公众号:宝藏女孩的成长日记
让这个可爱的宝藏女孩在努力的道路上与你一起同行!
如有转载,请注明出处(如不注明,盗者必究)

运行之后右键检查
在这里插入图片描述
什么是空(null)?

数据类型null只有一个值null。
可以通过给一个变量赋 null 值来清除变量的内容。

上面蓝色的这句话,我没有特别懂,我问了一下老师,老师是这样回答的

有一个变量,里面装的有值,它就会占用我们的空间,如果说我们把这个值赋值为null,就可以把这个变量释放掉!

经典面试题: null与undefined比较

相同点:null,undefined均代表无值;

不同点:undefined代表一个变量如果没有赋值;
null代表一个对象没找到,那么就为null。

3.4Javascript中的类型转换

什么是类型转换
将一种类型转为另外一种数据类型.例如: 将string类型的’1’转换成数字类型的1.

为什么要进行类型转换
因为数据之间的运算只有同类型之间的运算, 如果不同类型之间存在运算的话,需要将其转换为同一种类型后再进行运算.

类型转换分为两种:
强制类型转换, 自动类型转换

3.4.1强制类型转换

使用parseInt()和parseFloat()将一种类型的数据到数字类型.(常用)

parseInt(变量名):将变量转换为整数

parseFloat(变量名):将字符串转为小数

Number (变量名):将变量转换为数字,只能数字构的成字符串才可以转换

Boolean(变量名):转换为布尔值,true/false;

String(变量名):转换为字符串

3.4.2自动类型转换

在运行过程中根据编程语言的运算的语意环境,Javascript会自动进行类型转换.

四、(实战)倒计时的制作

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title></title><style type="text/css">*{margin: 0;padding: 0;}body{background-color: pink;}#box1{color: red;font-size: 60px;}</style></head><body><div id="box1"></div><script type="text/javascript">aa();var timer1=setInterval(function(){aa();},1000)function aa(){var endtime=new Date("2021/2/12 00:00:00");var now=new Date();var t=endtime.getTime()-now.getTime();if(t>0){var day=Math.floor(t/1000/60/60/24);var hour=Math.floor(t/1000/60/60%24);var mouth=Math.floor(t/1000/60%60);var second=Math.floor(t/1000%60);var str="距离春节还有"+day+"天 "+hour+"小时 "+mouth+"分 "+second+"秒";document.getElementById("box1").innerHTML=str;}else{clearInterval(timer1);document.getElementById("box1").innerHTML="春节已到!";}}	</script></body>
</html>

终于写完了。。。

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注!
欢迎关注微信公众号:宝藏女孩的成长日记
让这个可爱的宝藏女孩在努力的道路上与你一起同行!
如有转载,请注明出处(如不注明,盗者必究)

有问题,私信也可,评论也可,看见必回。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/568773.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【测试】接口测试介绍

接口测试是项目测试的一部分&#xff0c;它测试的主要对象是接口&#xff0c;是测试系统组件间接口的一种测试。 接口测试主要用于检测外部系统与所测系统之间以及内部各系统之间的交互点。测试的重点是检查数据交互、传递、和控制管理过程以及系统间的相互依赖关系等。 l 如…

【数据库】数据库查询之关键字except,having

数据库系列主要介绍工作和学习中遇到的一些问题&#xff0c;以下举例介绍&#xff1a; 假设有个学生成绩表 grade, 有4列&#xff1a;id 主键标识列&#xff0c;学生姓名 student, 课程course, 考试成绩 score, 表数据如下&#xff1a; idstudentcoursescore1张三英语702李四英…

如何删除github远程仓库?三部搞定!

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注&#xff01; 欢迎关注微信公众号&#xff1a;宝藏女孩的成长日记 让这个可爱的宝藏女孩在努力的道路上与你一起同行&#xff01; 如有转载&#xff0c;请注明出处&#xff08;如不注明&#xff0c;盗者必究&#xf…

【测试】测试用例8大法

测试用例的设计方法不是单独存在的&#xff0c;具体到每个测试项目里都会用到多种方法&#xff0c;每种类型的软件有各自的特点&#xff0c;每种测试用例设计的方法也有各自的特点&#xff0c;针对不同软件如何利用用例设计方法是非常重要的。在实际测试中&#xff0c;往往是综…

js实战代码系列—周杰伦给你报时间+网页页签制作模板+jQuery初体验

等到下次需要用的时候&#xff0c;可以回来找模板用哈哈哈哈&#xff01; 刚碰jQuery&#xff0c;今天是个好日子&#xff0c;明天继续学jQuery&#xff0c;明天也是个好日子。 https://blog.csdn.net/hanhanwanghaha一个超级无敌可爱的人鸭 欢迎您的关注&#xff01; 欢迎关注…

【资讯】2017年最好的25大发明,你最钟爱哪个?

引言《时代周刊》每年都会评出一份有趣的发明榜单&#xff0c;悉数一年间世界范围内的重大发明。今年的榜单出来后&#xff0c;「得到」作者马徐骏抢先进行了解读。带你一起看看&#xff0c;2017年有哪些发明正在悄然改变我们的生活。1. 阿迪达斯的4D跑鞋——Futurecraft这款鞋…

js实战代码系列—带你玩jQuery带你飞

https://blog.csdn.net/hanhanwanghaha一个超级无敌可爱的人鸭 欢迎您的关注&#xff01; 欢迎关注微信公众号&#xff1a;宝藏女孩的成长日记 如有转载&#xff0c;请注明出处&#xff08;如不注明&#xff0c;盗者必究&#xff09; 目录前言引入库一个简单的自定义动画模板弹…

【资讯】这10大科技,将彻底改变你的生活

引言 每一次大的科技突破&#xff0c;都会引发人们生活方式的变革。未来&#xff0c;有哪些科技将改变你我的生活&#xff1f; 著名高科技投资人王煜全&#xff0c;筛选出即将改变未来的10大科技&#xff0c;带你提前看看未来的生活。 1. 人工智能 人工智能的风口已过&…

软工学子与你一起了解资金时间价值 之 复利(利滚利)+ 贷款的基本常识 + 现金流量图 ——《工程经济学》

研究经济学的理由就是【为了避免被经济学家欺骗】——琼罗宾逊 前段时间学校在整治校园贷的事情&#xff0c;这让我想到高利贷&#xff0c;刚好最近在《工程经济学》中讲到复利的知识&#xff0c;花时间用通俗易懂的话来讲解一下 先来看看重点概况 一、现金流量图&#xff1a;…

【商业】10个经济学概念,让你看清复杂世界

引言 「得到」作者薛兆丰老师和你分享10个经济学入门概念&#xff0c;带你走近经济学。 1. 成本 释义&#xff1a;成本是你做选择时&#xff0c;放弃的最高代价。 案例&#xff1a;你有两个小时的休息时间&#xff0c;你可以选择打游戏、看电影或者看书。当你选择了打游戏时…

连接真机开发安卓(Android)移动app MUI框架——混合式开发(一) (敲详细)

从接触安卓开发的第一天起&#xff0c;我想我已经爱上了开发&#xff0c;哈哈哈&#xff0c;愿你我坚持下去的理由都是热爱&#xff0c;共勉&#xff01;这几天没有更新博客&#xff0c;是因为我学习去了&#xff08;没有相见的日子&#xff0c;我在努力哈哈哈&#xff09;。有…

【商业】向阿里巴巴学习11个挣大钱的小心机

引言 在刚过去的双十一&#xff0c;天猫单日交易达1682亿元&#xff0c;创造了全球零售史上的纪录。阿里巴巴销售神话的秘诀何在&#xff1f;很重要的一个原因&#xff0c;正是看似不起眼的商业“套路”的叠加使用。 具体有哪些套路呢&#xff1f;中国著名商业顾问刘润老师的…

软件测试基础:MantisBT的安装配置及使用——BUG管理工具

这学期学习的移动app测试&#xff0c;真的晕&#xff0c;一门无聊且枯燥的课&#xff0c;但是还是得学&#xff0c;越是无聊&#xff0c;越要当成男朋友来看待&#xff0c;共勉&#xff01;以前用过一个工具禅道还不错&#xff0c;老师还没讲测试的时候就已经用到过一些了&…

【测试】提交BUG的标准规范

我们在软件测试过程中&#xff0c;发现了BUG后&#xff0c;如何提交一个高质量的BUG, 其实我们可以总结一下规范的&#xff0c;文章主要从以下几方面讨论&#xff1a; Bug有效性 提交的Bug必须是有效的&#xff0c;就要求我们在提交Bug时&#xff0c;确认&#xff1a; 1、…

连接真机开发安卓(Android)移动app MUI框架——混合式开发(二) 带你项目开发(最新版)

今天是很丧的一天&#xff0c;做什么都提不起兴趣&#xff0c;不知道何时才能做到道家的“无为&#xff0c;而无所不为”&#xff0c;也无法理解范仲淹的“不以物喜不以己悲”。可是再没兴趣&#xff0c;学习还是要继续&#xff01;&#xff01;&#xff01;为了让自己放松&…

【Excel】设置数据有效性以及COUNTIF用法

日常工作中&#xff0c;我们经常会用到办公软件Excel&#xff0c;然而实际使用中&#xff0c;我们只是用了很小一部分的功能。下面我想介绍的是如何设置数据有效性&#xff0c;以及对某个数据进行个数统计&#xff0c;具体我们通过以下两个例子详细说明一下。 设置数据有效性 …

Apache默认端口80被占用无法启动服务问题

在实际工作中&#xff0c;有时运行Apache服务&#xff0c;会发现Apache默认端口80被占用无法启动服务&#xff0c;然后查找时却发现无法具体哪个进程被占用&#xff0c;这个时候我们应该怎样去解决问题呢&#xff1f; 1&#xff09;首先通过cmd 的netstat -ano命令查看具体哪个…

monkey自动化测试移动app 操作指南——真机 安卓(Android)app测试

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注&#xff01; 欢迎关注微信公众号&#xff1a;宝藏女孩的成长日记 如有转载&#xff0c;请注明出处&#xff08;如不注明&#xff0c;盗者必究&#xff09; 前言 Monkey是Android中的一个命令行工具&#xff0c;可以…

解决Word、Excel启动时提示向程序发送命令出现问题

还记得突然有一天&#xff0c;打开Excel或者word后&#xff0c;总是提示“向程序发送命令出现问题”&#xff0c;那时候很郁闷&#xff0c;不知道什么问题&#xff0c;重启电脑等方法都没用&#xff0c;然后度娘查找&#xff0c;最后才发现是因为按照额外程序导致的&#xff0c…

抠图把你头发都抠没了?真的爱了这在线免费抠图,带你又快又简单地抠图!

哈哈哈哈 一个超级无敌可爱的人鸭 在线教你怎么偷懒哈哈哈 https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注&#xff01; 欢迎关注微信公众号&#xff1a;宝藏女孩的成长日记 如有转载&#xff0c;请注明出处&#xff08;如不注明&#xff0c;盗者必究&#xff09…