心情再差,也还是要拿起我的 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,一经查实,立即删除!

相关文章

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

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

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; 目录前言引入库一个简单的自定义动画模板弹…

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

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

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

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

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

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

连接真机开发安卓(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…

【资讯】全球瞩目!无人驾驶真的来了!

所有人都知道&#xff0c;这一天会来&#xff01; 但谁也没想到&#xff0c;来得这么快&#xff01; 出发&#xff01; 2017年12月2日&#xff0c;一声令下&#xff0c;深圳的无人驾驶公交车正式上路了&#xff01; 一辆辆不需要驾驶员的公交车&#xff0c;从深圳福田穿梭驶…

连接真机开发安卓(Android)移动app MUI框架——混合式开发(三) (连接后端)

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注&#xff01; 欢迎关注微信公众号&#xff1a;宝藏女孩的成长日记 如有转载&#xff0c;请注明出处&#xff08;如不注明&#xff0c;盗者必究&#xff09; 分享今天看到的两句文案&#xff1a;我们必须全力以赴&…

【资讯】辉煌十载!BDTC 2017 中国大数据技术大会在京盛大召开

12 月 7 - 9 日&#xff0c;由中国计算机学会主办&#xff0c;CCF 大数据专家委员会承办&#xff0c;中国科学院计算技术研究所、中科天玑数据科技股份有限公司、CSDN 协办的 2017 中国大数据技术大会&#xff08;BDTC 2017&#xff09;在北京新云南皇冠假日酒店盛大召开。 作为…

SWT folder ‘..\framework\x86_64‘ does not exist. Please set ANDROID_SWT to point to the folder conta

前言 这报错整了我几个小时&#xff0c;说实话&#xff0c;搜索出来很多都是改monkeyrunner.bat&#xff08;大部分解决办法都是一字不差&#xff0c;一模一样&#xff0c;这就很明显了&#xff09;&#xff0c;我试了根本没用&#xff0c;看了一位大佬的文章才有所启发。 报…

【资讯】2017年乌镇互联网大会,互联网大佬们齐聚首

世界互联网大会昨天&#xff08;12月3日&#xff09;正式在浙江乌镇开幕&#xff0c;可以说是把互联网半壁江山都搬来了。 按照惯例&#xff0c;各家大佬们都是摘重点讲了讲公司近期取得的优异成果&#xff0c;顺带展望未来&#xff0c;提出趋势判断。 马云在自己的主场&#…

连接真机开发安卓(Android)移动app MUI框架 添加购物车等——混合式开发(四)

这篇发得有点晚了&#xff0c;实属罪过&#xff01; 以前高中月考的时候有幸进了一个学霸班坐了一个学霸的座位&#xff08;应该是一位女学霸&#xff0c;桌子上面写着&#xff1a;如果不是因为生气而将事情变得更加严重&#xff0c;那么事情也不是那么的大了&#xff09; 希望…

【Excel】统计不重复数据的个数,设置单元格不允许出现重复数据

前篇文章我们介绍了一下Excel中如何设置数据有效性以及COUNTIF函数的用法&#xff0c;这篇文章主要介绍有重复数据时如何统计不重复数据的个数以及通过数据有效性去设置单元格不允许出现重复数据。 统计单列不重复的个数 如下图所示&#xff0c;要统计B列数据的不重复个数&am…