保安日记:JavaScript学习第十二篇之PC端网页特效offset、client、scroll系列

it2023-02-17  94

PC端网页特效

元素偏移量offset系列

offset翻译过来就是偏移量

获得元素距离带有定位父元素的位置获得元素自身的大小(宽度高度)注意:返回的数值都不带单位

常用属性

<body> <div class="father"> <div class="son"></div> </div> <div class="w"></div> <script> // offset 系列 var father = document.querySelector('.father'); var son = document.querySelector('.son'); 1.可以得到元素的偏移 位置 返回的不带单位的数值 console.log(father.offsetTop); console.log(father.offsetLeft); 它以带有定位的父亲为准 如果么有父亲或者父亲没有定位 则以 body 为准 console.log(son.offsetLeft); var w = document.querySelector('.w'); 2.可以得到元素的大小 宽度和高度 是包含padding + border + width console.log(w.offsetWidth); console.log(w.offsetHeight); 3. 返回带有定位的父亲 否则返回的是body console.log(son.offsetParent); // 返回带有定位的父亲 否则返回的是body console.log(son.parentNode); // 返回父亲 是最近一级的父亲 亲爸爸 不管父亲有没有定位 </script> </body>

offset 与 style 区别:

元素可视区 client 系列

client翻译过来就是客户端,我们使用client系列的相关属性来获取元素可视区的相关信息。client系列的相关属性可以动态的得到该元素的边框大小、元素大小等。

立即执行函数

<script> // 1.立即执行函数: 不需要调用,立马能够自己执行的函数 // 2. 写法 也可以传递参数进来 1.(function() {})() 或者 2. (function(){}()); (function(a, b) { console.log(a + b); var num = 10; })(1, 2); // 第二个小括号可以看做是调用函数 (function sum(a, b) { console.log(a + b); var num = 10; // 局部变量 }(2, 3)); 3. 立即执行函数最大的作用就是 独立创建了一个作用域, 里面所有的变量都是局部变量 不会有命名冲突的情况 </script>

元素滚动 scroll 系列

scroll翻译过来就是滚动的,我们使用scroll系列的相关属性可以动态的得到该元素的大小、滚动距离等。 滚动就会触发scroll事件 (onscroll) 元素被卷去的头部:element.scrollTop 页面被卷去的头部:window.pageYOffset

三大系列总结

主要用法∶

offset系列经常用于获得元素位置offsetLeft | offsetTopclient经常用于获取元素大小clientWidth | clientHeightscroll经常用于获取滚动距离scrollTop | scrolLeft注意页面滚动的距离通过window.pageXoffset获得

mouseenter mouseover的区别: mouseenter鼠标事件 当鼠标移动到元素上时就会触发mouseenter事件。类似mouseover,它们两者之间的差别是:

mouseover鼠标经过自身盒子会触发,经过子盒子还会触发mouseenter只会经过自身盒子触发 之所以这样,因为mouseenter不会冒泡,跟mouseenter搭配鼠标离开mouseleave同样不会冒泡
最新回复(0)