zoukankan      html  css  js  c++  java
  • bugzilla_firefox

    //本来要给火狐提交bug的,发现复现不鸟,我勒个去
    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>无标题文档</title>
    </head>
    <style>
    html,body{
    	100%;
    	height:100%;
    }
    body{
    	position:relative
    }
    section{
    	position:absolute
    }
    .s1{
    	left:10px;
    }
    .s2{
    	left:40px;
    }
    .s3{
    	left:80px
    }
    input{
    	display:none;
    	outline:none
    }
    </style>
    <body>
    <section class="s1">
    	11
    </section>
    <section class="s2">
    	11
    </section>
    <section class="s3">
    	11
    </section>
    <input type="text">
    <script>
    var Drag = function( e ){
    	this.e = typeof e === "string" ? document.getElementById(e) : e;
    	this.initDrag();
    }
    Drag.prototype = {
    	zIndex : 0,
    	constructor : Drag,
    	initDrag : function(){
    		this.e.addEventListener("mousedown",this.ev.bind(this));
    	},
    	ev : function(e){
    		switch(e.type){
    			case "mousedown":
    				this.dx = e.clientX - this.e.offsetLeft;
    				this.dy = e.clientY - this.e.offsetTop;
    				this.e.zIndex = this.zIndex++;
    				this.fn = this.ev.bind(this);
    				document.addEventListener("mousemove",this.fn);
    				document.addEventListener("mouseup",this.fn);
    			break;
    			case "mousemove":		
    				this.e.style.left = e.clientX - this.dx + "px";
    				this.e.style.top = e.clientY - this.dy + "px";			
    			break;
    			case "mouseup":
    				document.removeEventListener("mouseup",this.fn)
    				document.removeEventListener("mousemove",this.fn)
    			break;
    		};
    		e.cancelBubble = true;
    		e.defaultPrevented = true;
    		e.stopPropagation();
    		e.preventDefault();
    		return 
    	}
    };
    Array.prototype.slice.call(document.querySelectorAll("section"),null).forEach(function(e,i){
    	new Drag(e);
    	e.addEventListener("mouseup",function(){
    		var css = Object.create( window.getComputedStyle(e,null) ),
    			t = parseInt(css.top) + "px",
    			l = parseInt(css.left) + "px";
    		/************************************/
    		e.style.left = 0;
    		e.style.top = 0;
    		/************************************/
    		console.log( window.getComputedStyle(e,null).left )
    		console.log( window.getComputedStyle(e,null).top )
    		e.style.left = l
    		e.style.top = t
    	});
    });
    </script>
    </body>
    </html>
    

      

  • 相关阅读:
    自定义圆形图片控件
    获取手机屏幕长宽
    xml文件解析和序列化
    Java开发基础知识之学习篇——==和equals
    Java开发基础知识之学习篇——成员变量与局部变量
    Java开发基础知识之学习篇——String
    Java开发基础知识之认知篇——java初识
    Java开发基础知识之规范篇——命名规范
    Java开发基础知识之规范篇——排版规范
    nginx高性能配置的几个重要参数(java web应用)
  • 原文地址:https://www.cnblogs.com/diligenceday/p/3580323.html
Copyright © 2011-2022 走看看