Java基础入门day36

day36

js

dom控制css变化

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><p>this is p1</p><p id="p2">this is p2</p><p id="p3">this is p3</p>
​<script>document.getElementById("p2").innerHTML="<font color='red'>this is p2 updated</font>";document.getElementById("p2").style.fontFamily = "楷体";document.getElementById("p2").style.fontSize = "30px";document.getElementById("p3").innerText="<font color='red'>this is p3 updated</font>";</script>
</body>
​
</html>

使用dom可以对于元素的css进行设置

dom事件

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><h1 id="h1">this is h1</h1><button οnclick="document.getElementById('h1').innerHTML='<font color=red>this is h1 updated</font>'">click me</button>
​<script></script>
</body>
​
</html>

使用dom可以对于元素的事件做出反应

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><h1 οnclick="this.innerHTML='<font color=red>this is h1 updated</font>'">this is h1</h1><script></script>
</body>
​
</html>

dom使得JavaScript有能力对于html事件做出反应

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><h1 οnclick="changeText(this)">this is h1</h1><script>function changeText(h){h.innerHTML="<font color=red>this is h1 updated</font>";}</script>
​
</body>
​
</html>

使用dom事件处理器调用一个函数

EventListener

addEventListener函数可以让用户在不同控件上添加事件

语法
element.addEventListener(event, function, useCapture);
参数名描述
event事件的类型
function事件触发后调用的函数
useCapture用于描述事件是冒泡还是捕获

特点:

  • addEventListener函数用于向指定的元素添加事件

  • 添加的事件句柄不会覆盖已存在的事件句柄

  • 可以向一个元素添加多个事件

  • 可以向同一个元素添加多个相同事件

  • 可以向任何dom对象添加事件监听,不一定是html元素,甚至是window对象

  • addEventListener可以更简单地控制事件的冒泡与捕获

  • 使用addEventListener函数,可以是的JavaScript能够将事件从html标记中分离出来,可读性更强

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><button id="btn">click me</button><script>
​document.getElementById("btn").addEventListener("click", btnAlert);document.getElementById("btn").addEventListener("click", displayDate);document.getElementById("btn").addEventListener("mouseover", changeColor);document.getElementById("btn").addEventListener("mouseout", changeColor02);
​function displayDate(){document.getElementById("btn").innerHTML=Date();}
​function btnAlert(){alert("i am clicked.")}
​function changeColor(){document.getElementById("btn").style.backgroundColor = "red";}
​function changeColor02(){document.getElementById("btn").style.backgroundColor = "green";}</script></body>
​
</html>

可以向元素添加多个事件,click,mouseover, mouseout

也可以同时想元素添加多个click事件

各自的事件互相不冲突

操作元素

如需向html中添加元素,dom也可以完成

  • document.createElement();

  • document.appendChild();

js中的定时任务

  • 定义定时器

    • setInterval('调用的函数名', 间隔时间);每间隔指定的间隔时间后自动执行函数

    • setTimeout('调用的函数名', 间隔时间);在固定的时间之后执行异常调用函数

  • 关闭定时器

    • clearInterval(定时器名称);

    • clearTimeout(定时器名称);

小综合案例-点名系统

点名系统

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>count</title><script src="js/count.js" ></script><link href="css/count.css" rel="stylesheet" />
</head>
<body οnlοad="create()"><input type="button" id="btnStart" value="start" οnclick="startCount()" /> <input type="button" id="btnStop" value="stop" οnclick="stopCount()"  /> <p /><div id="par">
​</div>
</body>
</html>

html页面,放了两个按钮,外加一个空的div

.stu{border: 1px solid green;width: 200px;height: 200px;float: left;margin: 10px;text-align: center;line-height: 200px;
}

外部的css文件用来设置每一个学生div的样式

var names = ["王可明",    "左佳慧",    "靳钰萧",    "宋治刚",    "李伟" ,   "韩温昱",    "李博森",    "胡嘉豪",    "陈晓玲",    "冯煜" ,   "赵雪儿",    "刘西阳",    "呼唤" ,   "王鹏展",    "李晨星",    "周晓宇",    "唐润曈",    "陈世钰",    "付梦茹",    "何俊超",    "袁奕鸿",    "张亚绒",    "樊琳杰",    "崔雅静",    "刘彩霞",    "刘芙蓉",    "何佳豪",    "赵博" ,   "田秘" ,   "张恒超",    "何云飞"
];
​
var index = -1;
var select;
var flag;
​
function create(){var par = document.getElementById("par");
​for(var i = 0; i < names.length; i++){var stu = document.createElement("div");
​stu.innerHTML = names[i];stu.className = "stu";stu.style.backgroundColor = "pink";stu.id = "id" + i;
​par.appendChild(stu);}
}
​
function startCount(){document.getElementById("btnStart").disabled = true;flag = setInterval(myStart, 100);
}
​
function myStart(){if(index != -1){select.style.backgroundColor = "pink";}//alert(123);// console.log(new Date());
​index = parseInt((Math.random() * 99999) % names.length);
​// console.log(index);select = document.getElementById("id" + index);
​select.style.backgroundColor = "green";
}
​
function stopCount(){clearInterval(flag);document.getElementById("btnStart").disabled = false;
​if(index != -1){alert("此次的幸运儿是" + names[index]);}
}

外部的js文件,用来处理各种事件

浏览器的bom模型

概念:

bom: browser object model:浏览器对象模型,使得JavaScript可以与浏览器”对话“

  • window

    • 所有浏览器都支持window对象,表示浏览器窗口

    • 所有的js对象、函数以及变量均自动成为window对象的成员

    • 全局变量都是window对象的属性,比如alert,document

  • status

    • 浏览器的状态栏

    • 用来显示一些状态信息

  • history

    • back是后退一次

    • forward是前进一次

    • go(num),num为正数,则前进num次,如果为负数,后退num次

  • screen

    • window.screen.availWidth

    • window.screen.availHeight

  • location

    • 可以获取当前页的url地址,并把浏览器重定向到新的 页面

    • location.hostname:主机名

    • location.pathname: 路径或者文件名

    • location.port: 端口

    • location.protocal,协议,http,https

    • location.href:返回当前页的url

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body>hello<a href="js10.html">js10</a><button οnclick="history.back()">back</button><button οnclick="history.forward()">forward</button><button οnclick="history.go(-1)">指定地址</button><script>
​</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><script>var h = window.screen.availHeight;var w = window.screen.availWidth;
​alert(w + ", " + h);</script>
</body>
</html>

screen的availHeight和availWidth可以分别拿到屏幕的可用尺寸

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><script>var h = window.location.hostname;var href = window.location.href;alert(href)window.location.href = "http://www.baidu.com";</script>
</body>
</html>

location定位:可以获取主机名,端口,链接等信息

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

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

相关文章

【刷题】代码随想录算法训练营第二十二天|235、二叉搜索树的最近公共祖先,701、二叉搜索树中的插入操作,450、删除二叉搜索树中的节点

目录 235、二叉搜索树的最近公共祖先701、二叉搜索树中的插入操作450、删除 235、二叉搜索树的最近公共祖先 讲解&#xff1a; 回忆一下递归的三部曲&#xff0c;以这题为例。 1、参数&#xff1a; 当前节点和两个节点。 Treenode* cur, Treenode*p, Treenode*q2、递归终止条…

prometheus配置监控Java应用服务

程序员的公众号&#xff1a;源1024&#xff0c;获取更多资料&#xff0c;无加密无套路&#xff01; 最近整理了一份大厂面试资料《史上最全大厂面试题》&#xff0c;Springboot、微服务、算法、数据结构、Zookeeper、Mybatis、Dubbo、linux、Kafka、Elasticsearch、数据库等等 …

JAVA----Thread

Thread 这里写目录标题 Thread线程Thread 第 1 种写法此外, t.start()的作用 Thread 第 2 种写法Thread 第 3 种写法Thread 第 4 种写法Thread 第 5 种写法 线程 本身是操作系统提供的, 操作系统提供了 API 以让我们操作线程, JVM 就对操作系统 API 进行了封装. 线程这里, 则提…

PVE虚拟机隐藏状态栏虚拟设备

虚拟机启动后&#xff0c;状态栏会出现一些虚拟设备&#xff0c;点击弹出会导致虚拟机无法使用。 解决方案&#xff1a; 1、在桌面新建disable_virtio_removale.bat文件&#xff0c;内容如下&#xff1a; ECHO OFF FOR /f %%A IN (reg query "HKLM\SYSTEM\CurrentContro…

【注释和反射】类加载的过程

继上一篇博客【注释和反射】获取class类实例的方法-CSDN博客 目录 三、类加载的过程 例子 三、类加载的过程 在Java虚拟机&#xff08;JVM&#xff09;中&#xff0c;类加载是一个将类的字节码文件从文件系统或其他来源加载到JVM的内存中&#xff0c;并将其转换为类或接口的…

JSON基础

JSON JavaScript Object Notation(js对象标记法) JSON定义 {"name":"Tom","age":20,"gender":"male" }JSON格式中的键必须使用双引号括上 因为其语法格式简单,层次结构鲜明,多作为数据载体在网络中进行数据传输 JSON定…

【语音识别】搭建本地的语音转文字系统:FunASR

参考自&#xff1a; 参考配置&#xff1a;FunASR/runtime/docs/SDK_advanced_guide_offline_zh.md at main alibaba-damo-academy/FunASR (github.com)参考配置&#xff1a;FunASR/runtime/quick_start_zh.md at 861147c7308b91068ffa02724fdf74ee623a909e alibaba-damo-aca…

猎聘爬虫(附源码)

废话不多说直接附源码 cookies需要替换成自己的 , 该网站在不登录的情况下只能请求到10页数据 , 想要获得完整数据需要携带登录后的cookies import requests import json from lxml import etree import os import openpyxlheaders {"Accept": "application/…

年如何在不丢失数据的情况下解锁锁定的 Android 手机?

当您忘记密码、PIN 码或图案并且想要解锁 Android 手机时&#xff0c;您可能会丢失 Android 手机上的数据。但您无需再担心&#xff0c;因为在这里&#xff0c;我们想出了几种解锁锁定的 Android 手机而不丢失数据的方法。 方法 1. 使用 Android Unlock 解锁锁定的 Android 且不…

Java中的异常和错误

Exception ArrayIndexOutOfBoundsException&#xff08;数组下标越界&#xff09; NullPionterException&#xff08;空指针异常&#xff09; ArithmeticException&#xff08;算数异常&#xff09; MissingResourceException&#xff08;丢失资源&#xff09; ClassNotFo…

记录一次WLAN Panic导致的gcore问题分析

记录一次WLAN Panic导致的gcore问题分析 背景 高通QA架构问题出现在几天前&#xff0c;测试同事大面积报出了开机后直接卡死的问题&#xff1b;经过初步分析&#xff0c;确认是进入了Guest Coredump&#xff08;gcore&#xff09; 分析 确认直接原因 解析gcore文件&#x…

信息收集分类

在信息收集中&#xff0c;需要收集的信息&#xff1a;目标主机的DNS信息、目标IP地址、子域名、旁站和C段、CMS类型、敏感目录、端口信息、操作系统版本、网站架构、漏洞信息、服务器与中间件信息、邮箱、人员、地址等。 信息收集区别 主动信息收集&#xff1a;直接与目标信息发…

mathtype设置公式编号,公式居中以及编号靠右

在word中实现&#xff1a; 1. 首先点击栏&#xff0c;选择更多栏去看 看到栏的宽度&#xff0c;然后去设置样式 在开始-样式中设置,新建样式&#xff1a; 新建样式&#xff0c;然后设置格式-制表位&#xff0c;选择对齐方式&#xff0c;居中对齐设置刚才的一半&#xff0c;右…

RK3568 学习笔记 : u-boot 千兆网络功能验证

前言 开发板型号&#xff1a; 【正点原子】 的 RK3568 开发板 使用 虚拟机 ubuntu 20.04 编译 RK3568 Linux SDK&#xff0c;生成镜像&#xff0c;烧写后&#xff0c;Linux 系统正常启动 开启后可以使用 CTRLC 进入 u-boot 本篇验证一下 u-boot 下网络功能 【正点原子】 rk…

MATLAB 运算符

MATLAB 运算符 运算符是一个符号&#xff0c;告诉编译器执行特定的数学或逻辑操作。MATLAB设计为主要在整个矩阵和数组上运行。因此&#xff0c;MATLAB中的运算符既可以处理标量数据&#xff0c;也可以处理非标量数据。MATLAB允许以下类型的基本运算- 算术运算符 关系运算符…

JavaScript:js基础1

JavaScript 一门跨平台,面向对象的脚本语言,来控制网页行文使网页可交互 JavaScript引入方式: <script>alert("Hello JS") </script>js语句必须在 <script>标签之间,在html文档中,可以在任意地方,放置任意数量的script 一般会把脚本置于 <…

Windows SMBGhost CVE-2020-0796 Elevate Privileges

SMBGhost CVE-2020-0796 Microsoft Windows 10 (1903/1909) - ‘SMBGhost’ SMB3.1.1 ‘SMB2_COMPRESSION_CAPABILITIES’ Local Privilege Escalation https://www.exploit-db.com/exploits/48267 Github https://github.com/danigargu/CVE-2020-0796 修改载荷[可选] 生成 c# …

【ARMv9 DSU-120 系列 -- Mapping for address target groups to CHI bus master ports】

文章目录 Mapping for address target groups to CHI bus master ports映射决定过程示例CHI id bit settingMapping for address target groups to CHI bus master ports 在DSU-120(DynamIQ™共享单元-120)中,地址目标组与总线主端口之间的映射关系是通过在复位时决定哪些总…

LLaMA Factory单机微调的实战教程

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法…

23年HVV微b蓝初面经

1. 自我介绍 从项目经验 工作经历 个人技术 上面三个方面说一些就行 2. 平时学习的方式是什么&#xff0c;有没有系统学习过安全&#xff0c; web 、内网学的怎么样 学的 b 站系统的课程&#xff0c;加了很多学习圈子、论坛&#xff0c;内网只涉猎了一点&#xff0c;学习的不…