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 四位梦想导师坐镇,他们都将组建自己的梦想战队,并率领队员向梦想发起冲击。 四位导师的**派系**不尽相同,…

收藏一个在线思维导图的制作网站

https://www.processon.com/ 转载于:https://www.cnblogs.com/132818Creator/p/11447077.html

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

webAPI 01-动画封装 应用到的知识点 点击事件 给元素设置一个绝对定位 定时器(setInterval) 封装动画1的步骤: 让元素设置为绝定位设置元素的开始位置(从哪开始移动)设置元素的目标位置(移动到哪)设置元素每次移动的距离设置元素每次移动的时间间隔(越短越好) 封装动画1遇…

链表中环的入口结点

题目描述 给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出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;将进程中的若⼲⻚分别装⼊多个可以不相邻的⻚框中页内碎片…

C#代码总结02---使用泛型来获取Asp前台页面全部控件,并进行属性修改

该方法&#xff1a;主要用于对前台页面的不同类型&#xff08;TextBox、DropDownList、等&#xff09;或全部控件进行批量操作&#xff0c;用于批量修改其属性&#xff08;如&#xff0c;Text、Enable&#xff09;。 private void GetControlList<T>(ControlCollection c…

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…

MFC的程序,不想显示窗口,任务栏里也不显示

在dialog的oninitdialog里设置如下属性&#xff0c;很简单&#xff0c;网上一些乱七八糟的做法&#xff0c;一行代码就能搞定啊 SetWindowPos(&CWnd::wndNoTopMost,0,0,0,0,SWP_HIDEWINDOW); ModifyStyleEx(WS_EX_APPWINDOW, WS_EX_TOOLWINDOW); 转载于:https://www.cnblog…

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

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

call / apply / bind

对于 call / apply / bind 来说&#xff0c;他们的首要目的是用于改变执行上下文的 this 指针。 call / apply 对 call / apply 的使用&#xff0c;一般都如下&#xff0c;用于改变执行环境的上下文。只是 call 接受的是一个一个的参数&#xff0c;而 apply 则是接受的是一个参…

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. 原生…

没用的一些水货

1. 不递归的子函数加上inline会跑的很快。 2. 在稠密图中用dijkstra堆优化会导致跑的很慢。 3. 连着开几个数组的话&#xff0c;有可能越界了评测机却返回WA。 4. 如果你用的Dev-C&#xff0c;那么有的时候会出现一些莫名其妙的编译错误。请检查是否存在未关闭的代码生成的.exe…

js(Dom+Bom)第八天

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

程序员计算器HEX、EDC、OCT等等的意思

binary 二进制 对应的是 BINoctal 八进制的 ---- OCThexadecimal 十六进制的 --- HEXdecimal 十进制的 -- DEC 转载于:https://www.cnblogs.com/132818Creator/p/11459984.html

为什么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…