当前位置: 首页 > news >正文

js day9

js当中与滚动相关的属性

<div>haha</div>
<script>let box=document.querySelector("div")box.addEventListener("scoll",function(e)){console.log(window.scrolltop)
}//往上走了
</script>

,box.scrollHeight——获取元素内容的实际高度和宽度,只读

box.clientHeight——获取元素对象可视区域的宽高,包含padding 不包含滚动条,margin

操作节点——查找节点

<div class="father"><div class="son1">子盒子</div><div class="son2">子盒子</div><div class="son3">子盒子</div><div class="son4">子盒子</div><div class="son5">子盒子</div>
</div>
//子节点如何获取父节点
<script>
const son3=document.querySelector(".son5")
console.log(son3.parentNode)
//查找子节点
const father=document.querySelector(".father")
console.log(father.children)
//查找兄弟节点
const son3=document.querySelector(".son3")
console.log(son3.nextElementSibling)//下一兄弟节点
console.log(son3.previousElementSibling)//上一兄弟节点

节点的创建和追加

<ul><li>zs</li>
</ul>
<script>
//1.创建节点
//document.createElement("要创建的点")
let newli=document.createElement("li")
newli.innerHTML=`<div class="box1">这是动态节点</div>`
console.log(newli)
//追加节点  父元素.appendChild(子节点)  默认是追加到父元素最后一个子元素之后
ul.appendChild(newli)//将newli加入ul中
//将newli追加
ul.innsertBefore(newli,ul.children[1])
</script>

事件流(捕获或冒泡)

<div class="gf"><div class="f"><div class="son"><div><div>
<div>
<script>
//addEventListener 第三个参数默认是false,表示冒泡
//若为true,表示捕获
const gf=document.querySelector(".gf")
const f=document.querySelector(".f")
const s0n=document.querySelector(".son")gf.addEventListener("click",function(){console.log("我是你爷爷")},true)f.addEventListener("click",function(){console.log("我是你爹")
e.stopPropagation()//阻止元素对象的冒泡或捕获
},true)</script>

事件的委托

<ul><li>我是li</li><li>我是li</li><li>我是li</li><li>我是li</li><li>我是li</li><li>我是li</li><li>我是li</li><li>我是li</li><li>我是li</li><li>我是li</li>
</ul>
<script>
const lis=document.querySelectorAll("li")
lis.forEach(li=>{
li.addEventListener("click",function(){
document.querySelector(".active").classList.remove
li.classist.add(".active")
})
})
</script>

方法二

<ul><li>我是li</li><li>我是li</li><li>我是li</li><li>我是li</li><li>我是li</li><li>我是li</li><li>我是li</li><li>我是li</li><li>我是li</li><li>我是li</li>
</ul>
<script>
let ul=document.querySelector("ul")
ul.addEventListener("click",function(e){
document.querySelector(".active").classist.remove
e.target.classist.add(".active")
//e.target存放的是触发事件的元素对象
})

http://www.dtcms.com/a/164427.html

相关文章:

  • Lightroom 2025手机版:专业编辑,轻松上手
  • java发送邮件
  • 共探蓝海赛道增长新方法 阿里国际站智能AI全球买家分析峰会在深落幕
  • kubelet 清理资源以缓解磁盘压力
  • 队列优化dp || 线段树优化dp
  • 探索豆包WEB/PC超能创意1.0:创意新利器的全面解析
  • 【力扣/代码随想录】哈希表
  • DTO,VO,PO,Entity
  • shell(4)
  • Linux环境变量的作用以及进程的虚拟地址原理
  • 关于php-fpm的调优和配置
  • [官方 IP] XPM_CDC
  • Origin绘图——多标签散点图优化(蜂群图)
  • C#里创建一个TCP客户端连接类
  • FastGPT部署的一些问题整理
  • 第一个机器人程序
  • 大厂Java面试深度解析:Dubbo服务治理、WebSocket实时通信、RESTEasy自定义注解与C3P0连接池配置实践
  • 【AI面试准备】语言模型、语音、多模态等模型能力评估指标和能力边界
  • 制作一款打飞机游戏31:敌人数据库
  • MIT6.S081 - Lab11 networking(网络栈)
  • MyBatis 使用 POJO 参数动态查询教程
  • 从零搭建体育比分网站:技术选型与API调用实战(附完整源码)
  • 解锁植被参数反演密码:AI 与 Python 的融合之道
  • Andorid车机UI适配,AndroidUI图px的单位,如何适配1920x720,PPI100的屏幕设备
  • X11VNC远程屏幕连接了解一下
  • 免费Grok API Key获取,Grok API使用指南
  • [特殊字符]OCR,给交通领域开了“外挂”?
  • 【保姆级教程-Centos7环境下部署Prometheus并设置开机自启】
  • k8s术语master,node,namepace,LABLE
  • 堆栈和队列模拟