示例:屏幕右侧悬浮框

原理:oDiv.style.top = document.documentElement.clientHeight - oDiv.offsetHeight + scrollTop + "px";

知识点:

浏览器窗体的高度

document.documentElement.clientHeight

浏览器滚动的高度

var scrollTop = document.body.scrollTop || document.documentElement.scrollTop;

html部分

<body style=" height:1600px;">
<div id="div1"></div>
</body> #div1 { position:absolute; right:; bottom:; width:100px; height:150px; background:green;}

js部分

<script>

window.onscroll = function(){
var oDiv = document.getElementById("div1");
var scrollTop = document.body.scrollTop || document.documentElement.scrollTop; //oDiv.style.top = document.documentElement.clientHeight - oDiv.offsetHeight + scrollTop + "px";
oDiv.style.top = startMove(document.documentElement.clientHeight - oDiv.offsetHeight + scrollTop);
} var timer = null;
function startMove(iTarget){
clearInterval(timer); timer = setInterval(function(){
var oDiv = document.getElementById("div1");
var speed = (iTarget - oDiv.offsetTop)/4;
speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed); if(oDiv.offsetTop == iTarget){
clearInterval(timer);
} else {
oDiv.style.top = oDiv.offsetTop + speed + "px";
} },30); } </script>

  

同上面这个悬浮框,可心改成另一个示例:对联悬浮框

示例:对联悬浮框

原理:

iTarget = (document.documentElement.clientHeight - oDiv.offsetHeight)/2 + scrollTop;

潜在问题:

对联一直在不停的抖动

检测分析:

1,打印出这个div 的offsetTop,发现它的值始终在两个相关1像素的值之间跳动

2,再打印iTarget发现它是800.5

原因:iTarget不是一个整数,造成“对联”不停的抖动

解决:

iTarget = parseInt((document.documentElement.clientHeight - oDiv.offsetHeight)/2 + scrollTop);

最新文章

  1. thrift笔记
  2. 如何装出高逼格的64位win7系统
  3. postgres中的中文分词zhparser
  4. SNMP协议
  5. linux &#160; 截取时间段的日志
  6. POJ 2318 (叉积) TOYS
  7. flask开发restful api系列(4)--七牛图片服务
  8. Oracle表锁住处理
  9. Eclipse的Java工作集和多工程构建路径
  10. OpenGL: Rotation vector sensor of Android and Device motion of iOS
  11. 微信小程序学习笔记
  12. 微信小程序小结
  13. html_jQuery
  14. JavaSE学习(二):进制转换—数据类型转换—Java运算符
  15. OpenRefine
  16. Docker镜像原理
  17. 详述 IntelliJ IDEA 插件的安装及使用方法
  18. vue+Element-ui实现分页效果
  19. Scala入门4(_的用法)
  20. HTML5 UI 控件Mobiscroll的使用(年月日三级联动)

热门文章

  1. That&#39;s life,多一些韧性,才有更多的任性(转)
  2. activity_main.xml: java.lang.NullPointerException
  3. STL 源代码分析 算法 stl_algo.h -- includes
  4. Java创建、重命名、删除文件和文件夹(转)
  5. OpenStack25
  6. VSTO学习笔记(九)浅谈Excel内容比较
  7. sql server数据库保存图片或者其他小文件
  8. 再读TCP/IP网络7层协议
  9. Java正則表達式演示样例
  10. shell 脚本之if、for、while语句