zoukankan      html  css  js  c++  java
  • 用js实现多个目标移动

    用js实现多个目标移动,当鼠标移上去的时候改变宽度,鼠标移出去的时候变回原来宽度。

    <!DOCTYPE html>
    <html lang="en">
    <head>
    
        <meta charset="UTF-8">
        <title> 让多个目标移动 </title>
      <style>
    body{
    	margin: 0;
    	padding: 0;
    }
    
    ul,li{
    	list-style: none;
    }
    
    ul li{
    	 200px;
    	height: 100px;
    	background: orange;
    	margin-bottom: 20px;
    	border: 4px solid black;
    }
     </style>
    
    </head>
    <body>
    <ul>
    	<li></li>
    	<li></li>
    	<li></li>
    </ul>
    
    </body>
     <script>
     	var aLi = document.getElementsByTagName('li');
    
    for(var i = 0; i < aLi.length; i++){
    	aLi[i].timer = null;
    	aLi[i].addEventListener('mouseover', function () {
    		startMove(this,400); //宽变成400(该宽包含了border)
    	});
    	
    	aLi[i].addEventListener('mouseout', function () {
    		startMove(this,200);
    	});
    }
    
    function startMove(obj,iTarget){
    	clearInterval(obj.timer);
    
    	obj.timer = setInterval(function(){
    		var speed = (iTarget-parseInt(getStyle(obj,'width')))/8;
    		speed = speed > 0? Math.ceil(speed):Math.floor(speed);
    		if(obj.offsetWidth == iTarget){
    			clearInterval(obj.timer);
    		} else {
    			obj.style.width = parseInt(getStyle(obj,'width')) + speed + 'px';
    		}
    	},30); // 每30毫秒
    }
    //获取样式
    function getStyle(obj,attr){
    	if(obj.currentStyle){
    		return obj.currentStyle[attr];
    	} else {
    		return getComputedStyle(obj,false)[attr];
    	}
    }
    
     </script>   
    
    </html>
    
  • 相关阅读:
    shell编程 之 引号、括号的用法总结
    shell编程 之 文件包含
    shell编程 之 输入输出重定向
    shell编程 之 流程控制(条件语句和循环语句)
    shell编程 之 函数
    IOS 定位
    IOS添加多个按钮在导航栏
    移除UIView上面的所有控件
    UITabBarController
    IOS 调用拨打电话Api
  • 原文地址:https://www.cnblogs.com/kid2333/p/7476524.html
Copyright © 2011-2022 走看看