JS-事件和日期对象

1.事件流:

    1.事件捕获(同类型事件时):从外层到内层;从最顶级的父元素一级一级往下找子元素触发同名事件,直到触发事件的元素为止

事件捕获,只能通过addEventListener并且参数写true才是事件捕获

其他都是冒泡(不是通过addEventListener添加、addEventListener参数为false)

    2.事件冒泡:从内层到外层;如果一个元素的事件被触发,那么他的所有父级元素的同名事件也会被依次触发

元素->父元素->body->html->document->window

事件冒泡一直存在,只不过以前我们没有给父级元素加同名事件

阻止冒泡:event.stopPropagation()//不仅阻止冒泡也会阻止捕获,即阻止传播(propagation:传播)

2.事件解绑:

1.on事件:

btn.onclick=()=>{console.log(1)}

btn.onclick=null

2.addEventListener事件:

btn.removeEventListener('click',function(需要从目标事件移除的函数,匿名函数无法被解绑),捕获阶段(true)或冒泡阶段(false,默认))

3.鼠标经过事件的区别:

mouseover(有冒泡效果) 与 moseenter(无冒泡效果)

mouseout(有冒泡效果) 与 mouseleave(无冒泡效果)(推荐)

3.事件委托:

事件委托是利用事件流的特征的技巧:给父级注册事件,当触发子元素时,冒泡给父元素,事件触发

事件委托选中触发事件的对象:e.target.style.backgroundColor = 'green'    e.target.classList.toggle('active')

 if (e.target.tagName == 'LI') {

                console.log('li');

            }

4.事件对象阻止默认行为:

const myLink = document.querySelector('#my-link');
myLink.addEventListener('click', function(event) {
  event.preventDefault();  // 阻止单击链接的默认行为
});Default//违约

 5.其他事件:

    页面加载事件:load(loading加载中):监听页面所有事件加载完成 =>  给window加事件:   

     window.addEventListener('load',()=>{

            函数体;//等待页面的所有内容加载完毕后再执行函数体

        })

        img.addEventListener('load',()=>{

            函数体;//等待图片加载完了再执行函数体

        })

       

    使用箭头函数时this不生效:使用箭头函数时不创建实例,故不存在this指向

        DOMContentLoaded事件:初始的HTML文档加载后,该事件触发,无需等待样式表,图片加载完:给document加


 

    元素滚动事件:scroll:监听整个页面的滚动,给winwow加或document加

        获取位置后的属性:scrollTop上方超出页面的距离, scrollLeft左边超出的距离,

        document.documentElement => 获取HTML元素(整数要屏幕尺寸100%)

   

   

    页面尺寸事件(在窗口尺寸改变时触发事件):resize(无媒体查询时用来做响应式网页)       

window.addEventListener('resize',()=>{

            //代码

            let w=document.documentElement.clientWidth

            //检测屏幕宽度/区域(div的width等等包含padding,不包含border)宽度:clientWidth/clintHight

            let w=document.documentElement.clientWidth

            console.log(w)

        })


 

        offset:获取元素自身的宽高(如果元素隐藏,则为0),包括自身设置,padding,border

        offsetWidth 和 offsetHight,offset……

        offsetTop 和 offsetLeft(只读属性):获取元素距离自己定位父级元素的上,左距离

6.日期对象:

1.实例化:只要用new进行操作的

    获得当前时间:const date=new Date()

    获得指定日期:const date = new Date('2004-10-23 08:00:00')

2.日期对象的方法:将日期对象获得的数据进行格式处理 

  1.getFullYear():获得4位年份

    2.getMonth():获得月份,0~11,月份要加1才是真正的月份

    3.getDate():获取月份中的每一天,月份不同,值不同,例如4月21日取21

    4.getDay():获取星期,0~6

    5.getHours():获取小时,0~23

    6.getMinutes():获取分钟,0~59

    7.getSeconds():获取秒,0~59


 

    可在to后面加 Locale,得到当地时间的   

8.toTimeString():   18:41:20 GMT+0800 (中国标准时间)

    9.toDateString():   Tue Apr 23 2024

    10.toString():      Tue Apr 23 2024 18:43:25 GMT+0800 (中国标准时间)

使用方法:

let date = new Date()    

console.log(date.getDate());

时间戳(单位:毫秒):1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的毫秒数

用于实现倒计时效果

方法1:getTime()     getTime('2024-4-23 19:07:00')

方法2:+new Date()   +new Date('2024-4-23 19:07:00')

方法3:Date.now()  //只能得到当前时间戳

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

VS2019配合QT5.9开发IRayAT430相机SDK

环境配置 VS2019 QT5.9 编译器版本 MSVC2017_64添加系统环境变量(完毕后重启电脑) 从VS2019中下载Qt插件 从VS2019中添加单个编译组件 上述操作完成后用VS打开工程文件,工程文件地址 : C:\Users\86173\Desktop\IRCNETSDK_W…

初识 Linux

一、基础命令 0、 ls cd cat pwd 当前工作目录 find -name 测试.py 查找文件 grep "学院" 测试.py 查找字符串 "学院" 在文件 测试.py 中位置,输出所在的 行 1、重定向器 echo "Hello Kali Linux!" > Hello 创建 文件 Hel…

openssl3.2 - exp - 使用默认的函数宏,在release版中也会引入__FILE__

文章目录 openssl3.2 - exp - 使用默认的函数宏,在release版中也会引入__FILE__概述笔记验证是否__FILE__在release版下也能用?将openssl编译成release版的,看看CRYPTO_free()是否只需要一个参数就行?将工程中的openssl相关的库换…

stream中的foreach,allMatch,noneMatch,anyMatch的基本使用

1.1foreach遍历集合元素 1.2anyMatch()的使用 结论:上边使用foreach循环遍历和使用anyMatch()的作用相同 2.allMatch() 2.1初级使用 2.2进级使用 3.noneMatch()使用

Python 实现视频去抖动技术

👽发现宝藏 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 视频去抖动是视频处理中的一项重要技术,它可以有效地减少视频中由于相机震动或手…

华为matebook 14安装ubuntu双系统

一、准备u盘 首先格式化u盘(选择FAT32) 二、确认电脑类型 键盘按下win+r(win:开始键/也就是Windows的标志那个键),在输入框内输入msinfo32后,回车确认 确定自己电脑 硬盘 的类型: 在显示屏下方的搜索框内搜索“计算机管理” 点击进入后,再点击左边列表内的“磁…

拉普拉斯IPO:荣获国家级专精特新和国家级制造业单项冠军殊荣

近期,拉普拉斯荣获国家级专精特新和国家级制造业单项冠军的殊荣,这无疑是对其在技术和发展方面的肯定。这些荣誉证明了拉普拉斯在光伏行业的卓越表现和持续创新,以及其在国内制造业中的领先地位,进一步彰显了拉普拉斯在技术研发和…

智慧浪潮下的产业园区:洞察智慧化转型如何打造高效、绿色、安全的新园区

目录 一、引言 二、智慧化转型的内涵与价值 三、打造高效园区的智慧化策略 1、建设智能化基础设施 2、推广智能化应用 3、构建智慧化服务平台 四、实现绿色园区的智慧化途径 1、推动绿色能源应用 2、实施绿色建筑设计 3、加强环境监测与治理 五、保障园区安全的智慧…

【办公类-22-14】周计划系列(5-6)“周计划-06 19周的周计划教案合并打印PDF(最终打印版))

背景需求: 花了十周,终于把周计划教案的文字都写满、加粗、节日替换了。为了便于打印,我把19周的周计划教案全部合并在一起PDF。制作打印用PDF 思路 1、周计划是单独打印一张,因此要在第2页插入空白页, 2、教案有3页…

[计算机效率] 截图工具:FastStone Capture

3.19 截图工具:FastStone Capture FastStone Capture是一款功能强大的屏幕捕捉软件,体积小巧、功能强大,不但具有常规截图等功能,更有从扫描器获取图像,和将图像转换为PDF文档等功能。 截屏功能:支持全屏截…

【Python数据库】MongoDB

文章目录 [toc]数据插入数据查询数据更新数据删除 个人主页:丷从心 系列专栏:Python数据库 学习指南:Python学习指南 数据插入 from pymongo import MongoClientdef insert_data():mongo_client MongoClient(hostlocalhost, port27017)co…

Git变更账户、查看账户

1、变更账户 (1)修改当前文件夹用户 git config user.name “新用户名” git config user.email “新邮箱” (2)修改全局git用户 git config - -global user.name “新用户名” git config - -global user.email “新邮箱”…

计算机网络——初识网络

一、局域网与广域网 1.局域网(LAN) 局域网:即Local Area Network,简称LAN。Local即标识了局域⽹是本地,局部组建的⼀种私有⽹络。局域⽹内的主机之间能⽅便的进⾏⽹络通信,⼜称为内⽹;局域⽹和…

【c++】----STL简介string

目录 1. 什么是STL 2. STL的版本 3. STL的六大组件 4.STL的缺陷 5.string类 1. 为什么学习string类? 6.string类的常用接口说明(下面我们只讲解最常用的接口) 1.string 常见构造 2.string类的遍历 iterator 迭代器遍历 (…

前端开发攻略---模拟后端接口返回数据,教你三种方式实现滚动到底部加载更多数据

1、演示 2、方式一:手动监听滚动事件 原理: 手动监听滚动事件的原理是通过添加滚动事件监听器,当页面滚动时触发相应的回调函数,检测页面是否已经滚动到底部,从而触发加载更多数据的逻辑。 优点: 1、相对简…

理解ROS2的动作

​ 1. 创建一个动作 目标: 在ROS 2软件包中定义一个动作。 1.1 新建包 设置一个 workspace 并创建一个名为 action_tutorials_interfaces 的包: mkdir -p ros2_ws/src #you can reuse existing workspace with this naming convention cd ros2_ws/s…

HTTPS证书申请:相关流程及注意事项

HTTPS证书(即HTTPS证书、服务器证书)是实现网络通信安全的重要技术产品,它为网站提供HTTPS加密和服务器身份验证的功能。HTTPS证书申请有那些流程?如何快速完成HTTPS证书申请?有哪些注意事项?本文将以沃通H…

Meta Llama 3 性能提升与推理服务部署

利用 NVIDIA TensorRT-LLM 和 NVIDIA Triton 推理服务器提升 Meta Llama 3 性能 我们很高兴地宣布 NVIDIA TensorRT-LLM 支持 Meta Llama 3 系列模型,从而加速和优化您的 LLM 推理性能。 您可以通过浏览器用户界面立即试用 Llama 3 8B 和 Llama 3 70B(该…

Android优化RecyclerView图片展示:Glide成堆加载批量Bitmap在RecyclerView成片绘制Canvas,Kotlin(b)

Android优化RecyclerView图片展示:Glide成堆加载批量Bitmap在RecyclerView成片绘制Canvas,Kotlin(b) 对 Android GridLayoutManager Glide批量加载Bitmap绘制Canvas画在RecyclerView,Kotlin(a)-…

【哔哩哔哩笔试题汇总】2024-04-28-哔哩哔哩春招笔试题-三语言题解(CPP/Python/Java)

🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新b站近期的春秋招笔试题汇总~ 💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢&#x1f497…
最新文章