javascript – 将div修复为屏幕

前端之家收集整理的这篇文章主要介绍了javascript – 将div修复为屏幕前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

在我的项目中,我想将div元素固定到屏幕上的某个位置.不是窗户,屏幕.因此,如果浏览器调整大小,则div保持不变,如果移动浏览器,则div保持不变.可能?

这是我的基本html页面,它只包含屏幕中心的一个点.

  1. #dot {
  2. width: 8px;
  3. height: 8px;
  4. -webkit-border-radius: 4px;
  5. -moz-border-radius: 4px;
  6. border-radius: 4px;
  7. background: #000;
  8. position:relative;
  9. left: -4px;
  10. top:-4px;
  11. }

我知道我可以使用window.screenX和window.screenY然后做一些数学运算来确保将位置设置为给出固定元素的错觉,但是这需要每毫秒轮询一次窗口位置来检测浏览器的移动时间(这可能是相当沉重和稀有无论如何).计划的目的不仅仅是一个点……

有任何想法吗?我完全难过了.

最佳答案
我认为你可以使用requestAnimationFrame,它比setInterval更适合这类任务,以便关注window.screenX和window.screenY,并且如果这些数字发生变化,还可以移动(动画)点div:

  1. var x = window.screenX,y = window.screenY;
  2. function moveDot() {
  3. if(x !== window.screenX || y !== window.screenY)
  4. console.log('move dot');
  5. x = window.screenX;
  6. y = window.screenY;
  7. }
  8. (function animloop(){
  9. window.requestAnimationFrame(animloop);
  10. moveDot();
  11. })();

Here’s the Can I Use link for requestAnimationFrame.

猜你在找的HTML相关文章