• js“分享到”侧边框伸缩实现


    思路:
    1,临界值是 -150 和 0
    如果大于临界值,就要隐藏
    2,隐藏:速度为负
    显示:速度为正
    
    3,如果与临界值相等,就清空定时器
    否则,就运动

    --------------------------------
    html部分
    <div id="div1"><span>分享到</span></div>
    
    <style>
    #div1 { position:absolute; left:-150px; 150px; height:200px; background:green;}
    #div1 span {position:absolute; right:-20px; top:70px; 20px; height:60px; line-height:20px; background:blue;}
    </style>
    

     

    js部分

    <script>
    
    window.onload = function(){
    	var oDiv = document.getElementById("div1");
    	var timer = null;
    	
    	oDiv.onmouseover = function(){
    		showHide(0);
    	}
    	
    	oDiv.onmouseout = function(){
    		showHide(-150);
    	}
    	
    	//展开
    	function show(){
    		clearInterval(timer);
    		timer = setInterval(function(){
    			if(oDiv.offsetLeft>=0){
    				clearInterval(timer);
    			}else{
    				oDiv.style.left = oDiv.offsetLeft + 10 + "px";
    			}
    		},30);
    	}
    	
    	//隐藏
    	function hide(){
    		clearInterval(timer);
    		timer = setInterval(function(){
    			if(oDiv.offsetLeft==-150){	//这里是等于
    				clearInterval(timer);
    			}else{
    				oDiv.style.left = oDiv.offsetLeft - 10 + "px";
    			}
    		},30);
    	}
    	
    }
    
    
    </script>
    

      

    优化成一个方法

    //优化成一个方法
    	function showHide(iCritical){
    		clearInterval(timer);
    		var speed;
    		timer = setInterval(function(){
    			if(oDiv.offsetLeft > iCritical){
    				speed = -10;
    			}else{
    				speed = 10;
    			}
    			
    			if(oDiv.offsetLeft == iCritical){
    				clearInterval(timer);
    			} else{
    				oDiv.style.left = oDiv.offsetLeft + speed + "px";
    			}
    			
    		},30);
    	}
    

      

     

     
  • 相关阅读:
    正则表达式
    cookie和session的区别(转载)
    Http协议
    10倍工程师
    10倍工程师
    HTML介绍
    HTML介绍
    网络基础之网络协议篇
    网络基础之网络协议篇
    计算机中的进制和编码
  • 原文地址:https://www.cnblogs.com/huaci/p/3832240.html
Copyright © 2020-2023  润新知