[Day 29]从零开始学习 JS 的连续-30 Days---网页座标及应用

网页座标及应用

  1. 首先怎麽读取与显示座标。
  2. 座标的判断依据。
  3. 如何动态撷取浏览器宽高。

mousemove 事件

  1. 使用滑鼠移动产生事件
//html
<div class="box">  </div>
//css
.box{
  background: red;
  height: 200px;
  width: 200px;
  position: absolute;
}
//js
const el = document.querySelector('.box');

el.addEventListener('mousemove',function(){
    alert('被发现了!');
  },false);

座标判断依据

  1. screen : 依据萤幕解析度来判断。
  2. page : 依据网页页面来判断。
  3. client : 依据浏览器窗口来判断
//html
<div class="mouseImg">
  <p>
  screenX: <span class="screenX"></span>
  screenY: <span class="screenY"></span> 
  </p>
  <p>
  pageX: <span class="pageX"></span>
  pageY: <span class="pageY"></span> 
  </p>
  <p>
  clientX: <span class="clientX"></span>
  clientY: <span class="clientY"></span>
  </p>
</div>  
//css
.mouseImg {
  max-width: 1920px;
  height: 5000px;
}
//js
const screenX = document.querySelector('.screenX');        
const screenY = document.querySelector('.screenY');        
const pageX = document.querySelector('.pageX');        
const pageY = document.querySelector('.pageY');        
const clientX = document.querySelector('.clientX');        
const clientY = document.querySelector('.clientY');        
const mouseImg = document.querySelector('.mouseImg');

function getPosition(e) {                 
  screenX.textContent = e.screenX;           screenY.textContent = e.screenY;                    
  pageX.textContent = e.pageX;               pageY.textContent = e.pageY;                     
  clientX.textContent = e.clientX;           clientY.textContent = e.clientY; 
  
  mouseImg.style.left =e.clientX+'px';
  mouseImg.style.top =e.clientY+'px';             
}

const el = document.body;      
el.addEventListener('mousemove', getPosition, false); 

  1. screen : 依据萤幕解析度来判断。红色的框。
  2. page : 依据网页页面来判断。绿色的X/Y轴,完整的页面大小。
  3. client : 依据浏览器窗口来判断。紫色的框。

动态撷取浏览器宽高

 <div class="section"></div>
 <div class="section2">
    section2
 </div>
.section{
    height: 400px;
    background-image: url(https://i.imgur.com/fSjapb2.png);
    background-size: cover;
    background-position: top center
}
.section2{
    height: 250px;
    background-color: pink;
}
document.querySelector('.section').style.height = window.innerHeight+"px"

window.onresize = function(){
document.querySelector('.section').style.height = window.innerHeight+"px"
}


innerHeight 与 outerHeight 范围不同。

今天到此结束了。


<<:  简报版-第九章-认识物联网安全~从各式联网设备的风险看起

>>:  [Day 30]从零开始学习 JS 的连续-30 Days---连续30天的"遗憾赛程"!!

【Day 5】BERT家族的成员们

当本系列文章提到BERT时,最初是指Google所开发的BERT,但後续基本就是指所有运用Trans...

Day_24 Nginx/FRP/ZeroTie

前两天介绍两个以VPN以点对点加密方式连回我们所架设的网路。但这里有个问题是我们得具有硬体与实体IP...

Day 14-for (i=0; i < 100; i++) createVM(i); infrastructure 也可以 for each 之一

infrastructure 也可以 for each 之一 课程内容与代码会放在 Github 上...

[Day30] 总结

终於到最後一天啦! 在嘉实工作 5 年多来,虽然一直知道公司发展的 XS 是国内程序交易的先驱者,...

教你彻底移除Mac应用程序的4 种方法 【必学】

如何删除Mac上的应用程序? 当大多数用户购买新的 Macbook/iMac 时,他们会将许多应用程...