zoukankan      html  css  js  c++  java
  • js右侧悬浮框

    示例:屏幕右侧悬浮框

    原理: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:0; bottom:0; 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);

  • 相关阅读:
    远程接入系统的问题
    FastReport
    通用FASTREPORT打印模块及接口方法
    cxGrid控件过滤筛选后如何获更新筛选后的数据集
    Oracle Data Integrator 12c (12.1.2)新特性
    ODI 12c 安装
    Kafka面试题
    Hadoop面试题
    Spark面试题
    JAVA面试题-数组字符串基础
  • 原文地址:https://www.cnblogs.com/huaci/p/3845453.html
Copyright © 2011-2022 走看看