js(Dom+Bom)第七天(1)

JavaScript

BOM介绍

概念

BOM(Browser Object Model)即浏览器对象模型。
本质: 通过对象抽象浏览器中的一些功能 例如:(刷新页面,alert,confirm,pormpt,跳转 ...)

BOM顶级对象

window对象是js中的顶级对象,定义在全局作用域中的变量、函数都会变成window对象的属性和方法,在调用的时候可以省略window。☞备注:1.文档document也属于window对象中的一个2.window代表整个窗口

页面加载事件

1. 
window.onload = function() {}   ===> 页面加载完成:页面上的所有元素都创建完成,并且引用的外部资源都下载完毕(js,css)

定时器

  • setTimeout()

隔一段时间执行,只执行一次  ==》定时炸弹☞ 使用window.setTimeout(function, time);function: 处理程序,可以是匿名函数time: 间隔时间,毫秒☞ 清除定时器1. setTimeout有一个返回值,代表当前定时器的标识2. clearTimeOut(定时器标识)案例:删除提示效果过程:点击按钮,显示一个层,3秒以后自动消失
  • setInterval()

隔一段时间执行,并且会重复执行 ===》 类似于闹钟☞ 使用
window.setInterval(function, time);
function: 处理程序,可以是匿名函数
time:时间,毫秒☞ 清除定时器clearInterval(定时器id);☞ 课堂案例:	
1.时钟案例
2.动画效果 offsetLeft: 水平偏移量相对HTMLoffsetTop: 垂直偏移量相对HTML

location对象

location对象是window对象下的一个属性,使用location可以设置或者获取浏览器地址栏中的url

属性

href:实现页面跳转
获取地址 :location.href
设置地址 :location.href = "http://www.baidu.com"如果希望在新窗口中打开页面:window.open('url路径');

方法

assign()  委派 : 作用于href的作用一样,可以实现页面跳转
location.assign("http://www.baidu.com")replace() 替换: 跳转页面,浏览器不记录历史,浏览器中后退按钮无法使用
location.replace("http://www.baidu.com")reload() 重新加载: 类似于 F5
备注:location.reload(true)  强制从服务器获取页面location.reload(false) 从浏览器本地缓存中获取页面F5,刷新页面从缓存中加载Ctrl + F5 强制刷新页面(从服务器获取页面)

其他属性

  • url组成

统一资源定位符(网站地址)scheme://host:port/path?query#fragment
例如:http://www.baidu.com:port/index.html?name=zs&age=18#bottom
通信协议,常用的http,ftp
  • host
主机,服务器域名系统(DNS)或者IP地址
  • port
端口号,默认端口号 8080
  • pathname
路径,代表一个具体的文件目录或者一个文件夹

属性介绍

location.host   --> 主机名(域名)
location.pathname   ---> 文件路径
location.protocol   ---> 协议
location.port  ----> 端口

offset【获取元素位置和大小】

☞ dom.offsetLeft  ---> 水平偏移
☞ dom.offsetTop   ---> 垂直偏移
备注:1.offsetLeft默认是相对整个HTML标签,如果其父元素是一个定位元素那么就相对其父元素(类似于css中的绝对定位)☞ dom.offsetWidth  ---> 获取当前元素在浏览器中的实际宽度(内容+边框+内边距)   
☞ dom.offsetHeight ---> 获取当前元素在浏览器中的实际高度(内容+边框+内边距)   

在这里插入图片描述

client【获取元素位置和大小】

☞ dom.clientLeft  --> 获取元素边框的左边框的宽度
☞ dom.clientTop --->  获取元素上边框的宽度☞ dom.clientWidth   -->  元素宽度【不包括边框,但是包括内边距】
☞ dom.clientHeight  -->  元素高度【不包括边框,但是包括内边距】总结:clientHeight = 内容区域 + paddingclientWidth = 内容区域 + padding

在这里插入图片描述

scroll【获取元素位置和大小】

☞ dom.scrollLeft   --->
☞ dom.scrollTop    --->滚动条向上滚动的距离【内容滚出去的距离】  [滚动事件 onscroll]☞ dom.scrollWidth   ---> 1. 如果内容区域小于当前元素,那么scrollWidth就代表当前元素大小【算内边距,不算边框】2. 如果内容区域大于当前元素,那么scrollWidth就等于内容区域大小 + 左内边距☞ dom.scrollHeight  --->

在这里插入图片描述

案例练习

素最后移动的位置 = 鼠标移动后的位置 - 鼠标按下时候的位置


- ### 弹出登录窗口(模拟模态窗口)- ### 放大镜```js1. onmouseenter 和 onmouseleave 属于一组,不会有事件冒泡2. onmouseover 和 onmouseout 属性一组,有事件冒泡
  • 封装动画

    animate.js
    

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

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

相关文章

「十二省联考 2019」皮配——dp

题目 【题目描述】 #### 题目背景一年一度的综艺节目《中国好码农》又开始了。本季度,好码农由 Yazid、Zayid、小 R、大 R 四位梦想导师坐镇,他们都将组建自己的梦想战队,并率领队员向梦想发起冲击。 四位导师的**派系**不尽相同,…

链表中环的入口结点

题目描述 给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。 分析 第一步:确定一个链表中是否有环 我们可以用两个指针来解决,定义两个指针,同时从链表的头结点触发&#xf…

java 线程之线程状态

Thread 类中的线程状态: public enum State {NEW,//新建RUNNABLE,// 执行态BLOCKED, //等待锁(在获取锁的池子里)WAITING,//等待状态TIMED_WAITING,//定时等待TERMINATED; //终止 } 创建状态(NEW):当一个线…

目标元素拖动

<div class"box"><div class"title">拖拽效果</div></div>* {margin: 0;padding: 0;}.box {width: 350px;height: 300px;border: 1px solid #ccc;position: absolute;left: 50%;top: 50%;transform: translate(-50%, -50%);cursor…

操作系统原理之内存管理(第四章第二部分)

一、基本分页存储管理方式 1、分⻚存储管理的基本原理&#xff1a; 页&#xff1a;将⼀个进程的逻辑地址空间分成若⼲个⼤⼩相等的⽚页框&#xff1a;将物理内存空间分成与⻚⼤⼩相同的若⼲个存储块分⻚存储&#xff1a;将进程中的若⼲⻚分别装⼊多个可以不相邻的⻚框中页内碎片…

d3.js 教程 模仿echarts柱状图

由于最近工作不是很忙&#xff0c;隧由把之前的charts项目用d3.js重写的一下&#xff0c;其实d3.js文档很多&#xff0c;但是入门不是很难&#xff0c;可是想真的能做一个完成的&#xff0c;交互良好的图还是要下一番功夫的。今天在echarts找到了一个柱状图&#xff0c;如图。 …

简单的动画函数封装(2)

<div></div><!-- <span></span> --><button class"btn1">点击500</button><button class"btn2">点击800</button>div{width: 100px;height: 100px;background-color: red;position: absolute;top: …

【蔡勒公式 】根据给定的年月日求出对应星期几

蔡勒公式 蔡勒&#xff08;Zeller&#xff09;公式&#xff0c;是一个计算星期的公式&#xff0c;随便给一个日期&#xff0c;就能用这个公式推算出是星期几。时间复杂度&#xff1a;O(1)。具体的在红书P229有。 若要计算的日期是在1582年10月4日或之前&#xff0c;公式则为&am…

放大镜制作(2)—此方法比较容易理解

<div class"box" id"box"><!--左侧的盒子--><div class"left_img"><!--图片--><img src"images/small.jpg" class"aaa" alt"小图片"/><!--黄色小盒子--><div class"…

js(Dom+Bom)第八天—Swiper(插件)

Swiper插件(库) 01-基本介绍 Swiper 是一款免费以及轻量级的移动设备触控滑块的js框架&#xff0c;使用硬件加速过渡&#xff08;如果该设备支持的话&#xff09;。主要使用于移动端的网站、移动web apps&#xff0c;native apps和hybrid apps。主要是为IOS而设计的&#xff…

第七节:EF Core调用SQL语句和存储过程

一. 查询类(FromSql) 1.说明 A. SQL查询必须返回实体的所有属性字段。 B. 结果集中的列名必须与属性映射到的列名相匹配。 C. SQL查询不能包含关联数据 D. 除Select以为的其它SQL语句无法运行。 2.调用SQL语句的几种情况 A. 基本的原生SQL查询 B. 利用$内插语法进行传递 C. 原生…

js(Dom+Bom)第八天

JavaScript 移动端事件介绍 touch事件类型 移动设备上无法使用鼠标&#xff0c;当手指按下屏幕的时候会触发 click,mousedown,mouseup事件&#xff0c;但是在移动设备上有专门的事件&#xff1a; touch 备注&#xff1a; 在移动端touch事件需要通过事件监听的方式添加touchsta…

为什么mysql 5.7.24启停不显示错误信息?log-error_verbosity参数

关键词&#xff1a;log-error_verbosity &#xff0c;mysql启停没有信息&#xff0c;mysql启停不显示错误信息&#xff0c;mysql不显示启停信息 原因就是因为 log-error_verbosity 2 被设置成了1/2&#xff0c;需要设置成3才行。 转载自&#xff1a;https://www.cnblogs.com/k…

ASP.NET Core 3.0中使用动态控制器路由

原文&#xff1a;Dynamic controller routing in ASP.NET Core 3.0 作者&#xff1a;Filip W 译文&#xff1a;https://www.cnblogs.com/lwqlun/p/11461657.html 译者&#xff1a;Lamond Lu 译者注 今天在网上看到了这篇关于ASP.NET Core动态路由的文章&#xff0c;感觉蛮有意思…

d3.js 教程 模仿echarts折线图

今天我们来仿echarts折线图,这个图在echarts是折线图堆叠&#xff0c;但是我用d3改造成了普通的折线图&#xff0c;只为了大家学习&#xff08;其实在简单的写一个布局就可以&#xff09;。废话不多说商行代码。 1 制作 Line 类 class Line {constructor() {this._width 1100;…

vue中v-for的使用

本人正在开始学习Vue,每天写写基础的记录,希望对大家有帮助,如有错误还望指出,我也是一个小白,也希望大家能一起进步 v-for指令的使用: 1.循环普通数组 item in list 中的item是自己个想写什么名写什么名 另一种写法 i 表示索引值 2.循环对象数组 3.循环普通对象 4.迭代数字 注…

js高级第一天

JavaScript面向对象 1.1两大编程思想&#xff1a; 1、面向过程 ​ 面向过程&#xff1a;POP(Process-oriented programming) 面向过程就是分析出解决问题所需要的步骤&#xff0c;然后用函数把这些步骤一步一步实现&#xff0c;使用的时候再一个一个的依次调用就可以了。 ​…

d3.js 教程 模仿echarts legend功能

上一节记录没有加上echarts的legend功能&#xff0c;这一小节补一下。 1. 数据 我们可以从echarts中看出&#xff0c;折线数据并不是我们传进入的原始数据&#xff08;多数情况下我们也不会修改原始数据&#xff09;&#xff0c;而是原始数组的一个备份而已。备份数组的方法有很…

小程序2-基本架构讲解(一)WXSS样式

项目里边生成了不同类型的文件: .json 后缀的 JSON 配置文件.wxml 后缀的 WXML 模板文件.wxss 后缀的 WXSS 样式文件.js 后缀的 JS 脚本逻辑文件WXSS 样式 WXSS (WeiXin Style Sheets)是一套样式语言&#xff0c;用于描述 WXML 的组件样式。WXSS 具有 CSS 大部分的特性 新增了尺…