JavaScript笔记 11

目录

01 创建元素的方式

02 BOM概述

03 window

04定时器

05 location对象的使用

07 js特效

08 offset系列相关属性

09 scroll 相关属性

10 client 相关属性

11 window 相关的事件

12 event 相关的属性


 

01 创建元素的方式

创建元素的三种方式:

        1.innerHTML创建元素

<div id="inner"></div>
<script>var inner=document.querySelector('#inner')inner.innerHTML='<a href="#">百度</a>'for(var i=0;i<100;i++){inner.innerHTML+='<a href="#">百度</a>'}
</script>

        2.使用数组来创建元素

<script>var arr=[];for(var i=0;i<100;i++){arr.push('<a href="#">百度</a>')}inner.innerHTML=arr.join('')
</script>

        3.document.createELement 创建元素

<div id="create"></div>
<script>var create=document.querySelector('#create')for(var i=0;i<100;i++){var a=document.createElement('a');create.append(a)}
</script>

02 BOM概述

        js三大核心  :   js基础语法        DOM        BOM

        BOM(Brower Object Model)

                js给我们内置了一些能够操作浏览器本身相关的一些对象

        BOM包含DOM

        DOM 最顶级的对象: document

        BOM 最顶级的对象 : window

03 window

        alert('123') 

        弹窗方法都是window调用的

         所有使用window调用的属性和方法 都可以省略

        window.open 打开新窗口的方法  (了解)

        

04定时器

        定时器分为一次性定时器和永久定时器

               1. 永久定时器:

                var timer=setInterval(function(){

                        console.log('111')

                })

                2.一次性定时器:

                var timer=setTimeout(function(){

                        console.log('111')

                })

        停止定时器:

                停止永久定时器 : clearInterval(clearInterval方法的返回值)

                停止一次性定时器 : clearTimeout(setTimeout方法的返回值)

05 location对象的使用

        location对象是封装和地址相关的一些数据

                console.log(location);

               console.log("地址栏全信息:",location.href)

                console.log("协议:",location.protocol);

                console.log("主机:",location.hostname);

                console.log("主机+端口:",location.host);

                console.log("地址路径部分:",location.pathname);

                console.log("地址的#号锚点部分:",location.hash);

                console.log("地址的参数部分:",location.search);

        location对象三个关于页面跳转的功能

                location.href='地址'

                location.assign('地址')

                location.replace('地址')

        注意:

                href 和assing功能一模一样

                跳转后把页面存为历史记录 跳转过去之后可以回退回来

                replace跳转会把当前页面销毁 跳转到新页面去 无法回退

06 history对象的使用

        history对象 专门操作历史记录相关的数据

        history.go(number)

                go(1) 前进一个记录

                go(-1) 后退一个记录

                go(0) 刷新 和 location.reload( ) 效果一样

07 js特效

        js中dom节点和动画相关的一些属性放到一起抽离出来 做成js动画的效果 就是js特效

        js特效相关的数据大致分为:

                offset方向 

                scroll方向

                client方向

08 offset系列相关属性

        offset方向的五大属性:

                1.offsetWidth   offsetHeight 返回的结果是number类型

                获取的是盒子自身的宽高+padding+border

                其实获取的就是最终渲染的盒子的大小 不包含margin

                2.offsetLeft   offsetTop    

                获取当前盒子距离最近的有定位的父盒子左上角的距离

                如果父盒子没有定位则距离body的距离

                以上四个属性都是只读的 无法复制 只能获取  返回的是数字类型 所以比较好用

               3. offsetParent

                获取最近的有定位的父盒子

                如果父盒子没有定位则返回body

  

09 scroll 相关属性

        scroll相关属性:

                1.scrollWidth  scrollHeight 

                内容不超出盒子宽高的时候 返回的是盒子自身的高度+padding

                如果内容超出了盒子的宽高  则返回的是内容的宽高

                2.scrollLeft  scrollTop 

                html对象调用 返回的是可滚动的浏览器页面被卷曲的头部和左侧的距离

                以上两个属性不但能获取还能设置浏览器卷曲多少

        特殊元素的获取方式:

                html对象的获取: document.documentELement

                body对象的获取: document.body

                head对象的获取: document.head

                title对象的获取: document.title

        页面滚动事件:

                window.οnscrοll=function(){ }

                或者

                window.addEventListener('scroll', function(){})

                只要页面滚动1px 就会触发一次这个事件

10 client 相关属性

        1.clientWidth/clientHeight

        是html对象调用 获取浏览器可视区域宽度

        可以根据浏览器的可视区域的宽高实现页面响应式布局

        2.clientLeft/clientTop(获取盒子左边框和上边框的宽度  没用) 

       

        3.获取浏览器可视化区域大小的其他方式(推荐使用)

        window.innerWidth / window.innerHeight

11 window 相关的事件

        window.onscorll 页面滚动事件

        window.onload 页面加载完毕事件

                所有页面的dom节点加载完毕 页面所有的图片加载完毕 后才去执行的事件

        window.onresize 页面大小改变事件

12 event 相关的属性

        鼠标到body的距离(pageX/Y)   e.pageX    e.pageY

        鼠标到屏幕的距离(screenX/Y)  e.screenX   e.screenY

        鼠标到可视区域的距离(clientX/Y)  e.clientX  e.clientY

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

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

相关文章

wordpress全站开发指南-面向开发者及深度用户(全中文实操)--php数组与基本循环

php数组与基本循环 <?php$myName"xixi";$namesarray(xixi1,xixi2,xixi3); ?> <p> Hi ,my name is <?php echo $myName; ?> </p> <p> Hi,my name is <?php echo $names[0] ?> </p> <p> Hi,my name is <?…

Open CASCADE学习|放样建模

在CAD软件中&#xff0c;Loft&#xff08;放样&#xff09;功能则是用于创建三维实体或曲面的重要工具。通过选取两个或多个横截面&#xff0c;并沿这些横截面进行放样&#xff0c;可以生成复杂的三维模型。在CAD放样功能的操作中&#xff0c;用户可以选择不同的选项来定制放样…

创新数智化全场景福利解决方案,打造极致员工体验

众所周知&#xff0c;企业面临两个市场&#xff0c;一个是前端的产品&#xff08;服务&#xff09;市场&#xff0c;面对的是客户&#xff0c;另一个便是后端市场&#xff0c;即愈来愈烈的人才市场。在风云变幻、人潮涌动的知识经济时代&#xff0c;员工已成为企业未来的竞争关…

洛谷 P4554 小明的游戏

思路&#xff1a;双端队列。 其实一开始你可以用BFS进行实验&#xff0c;由于我们需要找最小的费用&#xff0c;所以我们在BFS的时候可以这样想&#xff1a;在我们遍历到第一块板子的时候&#xff0c;在找周围的路时&#xff0c;我们可以改成这样的判断&#xff1a;如果周围的…

【大数据】ETL工具适用场景、常见产品、功能介绍

ETL&#xff08;Extract, Transform, Load&#xff09;工具是用于将数据从源系统抽取出来、进行转换处理&#xff0c;然后加载到目标系统的软件工具。它们在数据仓库、数据湖、数据集成等领域起着至关重要的作用。以下是关于ETL工具的详细介绍&#xff1a; 适用场景&#xff1…

Linux_进程通信_管道_system V共享内存_6

文章目录 一、进程通信分类二、管道1.什么是管道1.原理2.管道的特点 2.匿名管道3.命名管道1.创建命名管道文件 - mkfifo (命令)2.创建命名管道文件 - mkfifo (函数) 三、system V共享内存1.原理2.共享内存函数1.fotk2.shmget1.如何知道有哪些IPC资源 - ipcs &#xff08;命令&a…

河海大学-海洋学院2024年硕士研究生调剂通知

一、调剂专业及计划具体调剂专业及计划可参见河海大学研究生院官网《河海大学2024年硕士研究生调剂通知》和附件。 二、调剂报名与复试要求 1.报名条件&#xff1a;调剂原则见《河海大学202 4年硕士研究生调剂通知》&#xff0c;详细要求见中国研究生招生信息网“全国硕士研究…

Mysql密码修改问题

docker安装mysql&#xff0c;直接拉取镜像&#xff0c;挂载关键目录即可启动&#xff0c;默认3306端口。此时无法直接连接&#xff0c;需要配置密码。docker进入mysql容器中 docker exec -it mysql bash #mysq是容器名称&#xff0c;也可以用容器id通过修改mysql的配置进行免密…

Unity类银河恶魔城学习记录12-7-1 p129 Craft UI - part 1源代码

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释&#xff0c;可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码 【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili UI_CraftList.cs using System.Collections; using System.Collections.Gen…

Vue基础知识:Vue路由——重定向,以及?(可选符)的使用

当网页打开时&#xff0c;url默认是/路径&#xff08;根路径&#xff09;&#xff0c;未匹配到组件时&#xff0c;会出现空白&#xff0c;为了解决这个问题 就要利用重定向 重定向&#xff1a;匹配path后&#xff0c;强制跳转path路径 重定向的语法&#xff1a; {path:匹配…

【Linux】使用cloudreve搭建个人网盘并传输文件

Cloudreve 是一个开源的个人网盘系统&#xff0c;能够帮助用户搭建属于自己的私有云存储服务。它支持多种存储后端&#xff0c;包括本地存储、远程FTP/SFTP存储、以及云存储服务如阿里云OSS、腾讯云COS和Amazon S3等。Cloudreve具有友好的用户界面和丰富的功能&#xff0c;比如…

bash工具-dir_util.sh

#!/usr/bin/env bash#以pwd和当前脚本路径名$0 结合 给出 当前脚本所在目录名、当前脚本名 #调用者应该在切换目录之前调用本函数, 即 尽可能早的调用本脚本. # 若 调用者 切换到其他目录后&#xff0c;调用本脚本 则结果肯定不对. # 使用例子: getCurScriptDirName $0 #返…

如何使用开源情报跟踪一个人?在线访问网站以及使用方法介绍

如何使用开源情报跟踪一个人&#xff1f;在线访问网站以及使用方法介绍。 开源情报&#xff08;OSINT&#xff09;是一门关于收集和分析公开可用信息的独特技艺&#xff0c;它致力于构建个人或团体的详尽档案。 这一过程中&#xff0c;信息搜集者会利用多元化的信息源&#xff…

SQLite 查询优化器概述(九)

返回&#xff1a;SQLite—系列文章目录 上一篇&#xff1a;SQLite中的隔离(八&#xff09; 下一篇&#xff1a;SQLite下一代查询规划器(十&#xff09; 1. 引言 本文档概述了查询规划器和优化器如何 用于 SQLite 工作。 给定一个 SQL 语句&#xff0c;可能有几十个、几百…

Java: LinkedList的模拟实现

一、双向链表简介 上一篇文章我介绍了单向链表的实现&#xff0c;单向链表的特点是&#xff1a;可以根据上一个节点访问下一个节点&#xff01;但是&#xff0c;它有个缺点&#xff0c;无法通过下一个节点访问上一个节点&#xff01;这也是它称为单向链表的原因。 那么&#x…

幻兽帕鲁服务器操作系统选择Windows还是Linux?

使用阿里云服务器搭建幻兽帕鲁操作系统类型选Windows还是Linux&#xff1f;如果对Linux熟悉就选择Linux&#xff0c;相对于windows&#xff0c;Linux更少占用系统资源&#xff1b;如果对Linux不熟悉&#xff0c;首选Windows。事实上&#xff0c;阿里云提供的幻兽帕鲁服务器通过…

C++面向对象程序设计 - 共用数据的保护(常对象、常指针和常引用)

C虽然采取了不少有效的措施&#xff08;如设private保护&#xff09;以增加数据的安全性&#xff0c;但是有些数据却往往是共享的&#xff0c;例如实参与形参&#xff0c;变量与其引用&#xff0c;数据与其指针等&#xff0c;人们可以在不同的场合通过不同的途径访问同一个数据…

C语言宏定义笔记

把宏名全部大写&#xff0c;函数名不要全部大写。注意宏定义表示数据类型和用 typedef 定义数据说明符的区别。宏定义只是简单的字符串替换&#xff0c;由预处理器来处理&#xff1b; typedef 是在编译阶段由编译器处理的&#xff0c;它并不是简单的字符串替换&#xff0c;而给…

【华为OD机试C++】简单密码设置

《最新华为OD机试题目带答案解析》:最新华为OD机试题目带答案解析,语言包括C、C++、Python、Java、JavaScript等。订阅专栏,获取专栏内所有文章阅读权限,持续同步更新! 文章目录 描述输入描述输出描述示例代码描述 现在有一种密码变换算法。 九键手机键盘上的数字与字母的…

在课堂中使用 ChatGPT 的 80 个方式(下)

原文&#xff1a;80 Ways to Use ChatGPT in the Classroom 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 第九章&#xff1a;其他用途 随着世界变得更加技术驱动&#xff0c;管理任务的需求变得越来越迫切。ChatGPT 已被证明是教学、学习和其他用途的宝贵资产。本章…