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存放的是触发事件的元素对象
})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值