JS前端知识点offset,scroll,client,冒泡,事件对象的应用整理总结

下面我将详细讲解关于“JS前端知识点offset,scroll,client,冒泡,事件对象的应用整理总结”的攻略以及示例说明。

下面我将详细讲解关于“JS前端知识点offset,scroll,client,冒泡,事件对象的应用整理总结”的攻略以及示例说明。

标题

一、offset、scroll、client的应用说明

1. offset

offset是获取元素相对于其offsetParent的位置信息,包括元素的宽高、距离上下左右的距离。使用offsetLeftoffsetTop属性来获取距离最近的已经定位的父级的offsetLeftoffsetTop值,并将它们相加,就能得出元素在文档中的绝对位置。

示例说明:

<div style="position: relative; left: 50px">
  <div id="box1" style="position: relative; left: 100px; top: 100px"></div>
</div>
<script type="text/javascript">
  var box1 = document.getElementById('box1');
  console.log(box1.offsetLeft) // 输出 100
  console.log(box1.offsetTop)  // 输出 100
</script>

2. scroll

scroll是获取元素在滚动时的位置信息,包括元素的宽高、距离屏幕上下左右的距离。使用scrollTopscrollLeft属性来获取元素在垂直和水平方向的滚动值。

示例说明:

<div style="height: 200px; overflow: scroll;">
  <p id="box2" style="height: 500px"></p>
</div>
<script type="text/javascript">
  var box2 = document.getElementById('box2');
  console.log(box2.scrollHeight) // 输出 500
  console.log(box2.scrollTop)   // 输出 0
</script>

3. client

client是获取元素在窗口中的位置信息,包括元素的宽高、距离窗口上下左右的距离。使用clientWidthclientHeight属性来获取元素可视区的宽高。使用clientTopclientLeft属性来获取元素边框宽度。

示例说明:

<div style="height: 200px; overflow: scroll;">
  <p id="box3" style="height: 500px"></p>
</div>
<script type="text/javascript">
  var box3 = document.getElementById('box3');
  console.log(box3.clientWidth) // 输出 188
  console.log(box3.clientHeight)// 输出 200
  console.log(box3.clientLeft) // 输出 1
  console.log(box3.clientTop)  // 输出 1
</script>

二、冒泡与事件对象的应用

1. 冒泡

事件的冒泡是指,事件被触发后,从最内层的元素开始,逐层向外执行。当每个元素都完成处理后,最终事件会回到文档树的根节点。可以使用event.stopPropagation()来阻止事件的冒泡。

示例说明:

<div id="parent">
  <div id="child"></div>
</div>
<script type="text/javascript">
  var parent = document.getElementById('parent');
  var child = document.getElementById('child');
  parent.addEventListener('click', function(){
    console.log('parent clicked');
  });
  child.addEventListener('click', function(event){
    event.stopPropagation();
    console.log('child clicked');
  });
</script>

2. 事件对象

事件对象是指在响应事件的函数内部自动生成的一个对象,它包含了与事件相关的信息。可以使用event.target来获取触发事件的目标元素。可以使用event.preventDefault()来阻止默认的事件行为。

示例说明:

<a href="https://www.baidu.com" id="link">baidu</a>
<script type="text/javascript">
  var link = document.getElementById('link');
  link.addEventListener('click', function(event){
    event.preventDefault();
    console.log(event.target.href); // 输出 https://www.baidu.com
  });
</script>

结束语

以上就是关于“JS前端知识点offset,scroll,client,冒泡,事件对象的应用整理总结”的攻略和示例说明。希望对大家有所帮助。

本文标题为:JS前端知识点offset,scroll,client,冒泡,事件对象的应用整理总结

基础教程推荐