day2 week3

19/9/24星期二

上午

课程目标:

Web API BOM DOM

Web API介绍

API的概念

API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

  • 任何开发语言都有自己的API
  • API的特征输入输出(I/O)
  • API的使用方法(console.log(‘adf’))

Web API的概念

浏览器提供的一套操作浏览器功能和页面元素的API(BOM和DOM)

掌握常见浏览器提供的API的调用方式

JavaScript的组成

[外链图片转存失败(img-FmPxYQBj-1569371995381)(media/QQ图片20170810172512-2357176615.png)]

ECMAScript - JavaScript的核心 es5 es6

定义了JavaScript 的语法规范

JavaScript的核心,描述了语言的基本语法和数据类型,ECMAScript是一套标准,定义了一种语言的标准与具体实现无关

BOM - 浏览器对象模型 brower Object Model

一套操作浏览器功能的API

通过BOM可以操作浏览器窗口,比如:弹出框、控制浏览器跳转、获取分辨率等

DOM - 文档对象模型

一套操作页面元素的API

DOM可以把HTML看做是文档树,通过DOM提供的API可以对树上的节点进行操作

DOM

DOM的概念

文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标记语言(html)标准编程接口。它是一种与平台和语言无关的应用程序接口(API),它可以动态地访问程序和脚本,更新其内容、结构,DOM(是一种基于树的API文档,它要求在处理过程中整个文档都表示在存储器中。

DOM又称为文档树模型

[外链图片转存失败(img-lfAFkFjS-1569371995410)(media/1497154623955.png)]

  • 文档:一个网页可以称为文档
  • 节点:网页中的所有内容都是节点(标签、属性、文本、注释等)
  • 元素:网页中的标签
  • 属性:标签的属性

DOM经常进行的操作

  • 获取元素
  • 对元素进行操作(设置其属性或调用其方法)
  • 动态创建元素
  • 事件(什么时机做相应的操作)

获取页面元素

为什么要获取页面元素

例如:我们要页面元素隐藏/显示,需要现获取对应的元素,才能进行后续操作

根据id获取元素

var div = document.getElementById("id2");

当id重名的时候,会获取第一个,id有唯一性的

根据标签名获取元素

//标签名获取元素
		var div = document.getElementsByTagName("div")[5];
		alert(div);

根据name获取元素*

// 通过name来获取
		var names = document.getElementsByName('n');
		for (var i = 0; i < names.length; i++) {
			alert(names[i]);
		}
		alert(names);

根据类名获取元素*

// 通过类名
		var mains = document.getElementsByClassName("main");
		alert(mains);

根据选择器获取元素*

// 根据选择器获取元素
		var id1 = document.querySelector('#id1');
		alert(id1);
		var mains = document.querySelectorAll('.main');
		alert(mains);

事件

事件:触发-响应机制

事件三要素

  • 事件源:触发(被)事件的元素
  • 事件名称: click 点击事件
  • 事件处理程序(回调函数):事件触发后要执行的代码(函数形式)

事件的基本使用


案例

  • 点击按钮切换图片

属性操作

非表单元素的属性

href、title、id、src、className

var link = document.getElementById("link");
console.log(link.href);

案例:

​ 点击按钮显示隐藏div

  • innerHTML和innerText

  • HTML转义符

"		&quot;
'		&apos;
&		&amp;
<		&lt;   // less than  小于
>		&gt;   // greater than  大于
空格	   &nbsp;
©		&copy;

表单元素属性

  • value 用于大部分表单元素的内容获取(option除外)
  • type 可以获取input标签的类型(输入框或复选框等)
  • disabled 禁用属性
  • checked 复选框选中属性
  • selected 下拉菜单选中属性

案例

  • 给文本框赋值,获取文本框的值

自定义属性操作

  • getAttribute() 获取标签行内属性
  • setAttribute() 设置标签行内属性
  • removeAttribute() 移除标签行内属性
  • 与element.属性的区别: 上述三个方法用于获取任意的行内属性。

样式操作

  • 使用style方式设置的样式显示在标签行内

类名操作

  • 修改标签的className属性相当于直接修改标签的类名

案例

  • 图片切换二维码案例

创建元素的三种方式

document.write()

document.write('新设置的内容<p>标签也可以生成</p>');

innerHTML

var box = document.getElementById('box');
box.innerHTML = '新内容<p>新标签</p>';

document.createElement()

var div = document.createElement('div');
document.body.appendChild(div);

节点操作

节点属性

模拟文档树结构

[外链图片转存失败(img-qP4Rr1VH-1569371995411)(media/1497165666684.png)]

事件详解

注册/移除事件的三种方式

var box = document.getElementById('box');
box.onclick = function () {
  console.log('点击后执行');
};
box.onclick = null;

box.addEventListener('click', eventCode, false);
box.removeEventListener('click', eventCode, false);

box.attachEvent('onclick', eventCode);
box.detachEvent('onclick', eventCode);

function eventCode() {
  console.log('点击后执行');
}

案例
  • 跟着鼠标飞的天使
  • 鼠标点哪图片飞到哪里
  • 获取鼠标在div内的坐标

常用的鼠标和键盘事件

  • onmouseup 鼠标按键放开时触发
  • onmousedown 鼠标按键按下触发
  • onmousemove 鼠标移动触发
  • onkeyup 键盘按键按下触发
  • onkeydown 键盘按键抬起触发

下午

作业目标:
1.求10-20之间的随机数
在这里插入图片描述

2.随机生成颜色RGB

在这里插入图片描述
3.模拟实现max()/min()
4.计算时间差,返回相差的天/时/分/秒

在这里插入图片描述
5.将一个字符串数组输出为|分割的形式,比如“a|b|c”。使用两种方式实现在这里插入图片描述

6.工资的数组[1500, 1200, 2000, 2100, 1800],把工资超过2000的删除

在这里插入图片描述
7.[“c”, “a”, “z”, “a”, “x”, “a”]找到数组中每一个a出现的位

在这里插入图片描述
8.编写一个方法去掉一个数组的重复元素
在这里插入图片描述
9.截取字符串"我爱中华人民共和国",中的"中华"
在这里插入图片描述
10."abcoefoxyozzopp"查找字符串中所有o出现的位置

11.判断一个字符串中出现次数最多的字符,统计这个次数
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值