js解决movebox移动问题


Posted in Javascript onMarch 29, 2016

本文为大家分享了js解决movebox移动问题,并且取消图片默认拖动事件的相关操作,供大家参考,具体内容如下

html:

<!DOCTYPE html> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 
  <link href="../Content/StyleSheet5.css" rel="stylesheet" /> 
  <script src="../Scripts/JavaScript5.js"></script> 
  <title></title> 
  <meta charset="utf-8" /> 
</head> 
<body> 
  <div id="center"> 
    <div id="black"></div> 
    <div id="movebox"> 
      <img id="moveimg" src="../Images/b.jpg"/> 
    </div> 
    <img id="bigimg" src="../Images/b.jpg" /> 
  </div> 
</body> 
</html>

js:

var movebox; 
window.onload = function () { 
  movebox = document.getElementById("movebox"); 
  movebox.addEventListener("mousedown", function (e) { 
    if (e.button > 0) { 
      fun2(); 
      return false; 
    } 
    e.preventDefault && e.preventDefault(); //明哥:去掉图片拖动响应 狠重要 
    gen.x = e.clientX; 
    gen.y = e.clientY; 
    gen._x = movebox.offsetLeft; 
    gen._y = movebox.offsetTop; 
    gen.dx = gen.x - gen._x; 
    gen.dy = gen.y - gen._y; 
    document.addEventListener("mousemove",fun1,false); 
    document.addEventListener("mouseup", fun2, false); 
  }, false); 
}; 
var fun1 = function (e) { 
  gen.L = e.clientX - gen.dx; 
  gen.T = e.clientY - gen.dy; 
  var timefun = function () { 
    window.getSelection().removeAllRanges(); 
    if (gen.L < 100) 
      gen.L = 100; 
    else if (gen.L > 200) 
      gen.L = 200; 
    if (gen.T < 125) 
      gen.T = 125; 
    else if (gen.T > 175) 
      gen.T = 175; 
    setLT(movebox, gen.L, gen.T); 
  }; 
  setTimeout(timefun, 2); 
}; 
var fun2 = function () { 
  document.removeEventListener("mousemove", fun1, false); 
  document.removeEventListener("mouseuo", fun2, false); 
}; 
var gen = { 
  x: null, 
  y: null, 
  _x: null, 
  _y: null, 
  dx: null, 
  dy: null, 
  L: null, 
  T:null, 
}; 
var setLT = function (dom, L, T) { 
  dom.style.left = L + "px"; 
  dom.style.top = T + "px"; 
};

css:

body { 
  position:absolute; 
  margin:0; 
  padding:0; 
} 
#center{ 
  position:absolute; 
  top:200px; 
  left:300px; 
  width:400px; 
  height:400px; 
  background-color:#808080; 
} 
#black{ 
  position:absolute; 
  width:400px; 
  height:400px; 
  z-index:80; 
  background-color:#000; 
  opacity:0.6; 
} 
#bigimg{ 
  z-index:50; 
  position:absolute; 
  left:100px; 
  top:125px; 
} 
#movebox{ 
  z-index:100; 
  position:absolute; 
  width:100px; 
  height:100px; 
  left:150px; 
  top:150px; 
  overflow:hidden; 
  cursor:move; 
  background-color:#ff6a00; 
} 
#moveimg{ 
  position:absolute; 
  left:-50px; 
  top:-25px; 
}

以上就是本文的全部内容,希望对大家的学习有所帮助。

Javascript 相关文章推荐
初窥JQuery-Jquery简介 入门了解篇
Nov 25 Javascript
js下通过prototype扩展实现indexOf的代码
Dec 08 Javascript
input链接页面、打开新网页等等的具体实现
Dec 30 Javascript
jQuery实现简单的间隔向上滚动效果
Mar 09 Javascript
不同js异步函数同步的实现方法
May 28 Javascript
jQuery插件zTree实现获取一级节点数据的方法
Mar 08 Javascript
微信小程序与php 实现微信支付的简单实例
Jun 23 Javascript
vue系列之requireJs中引入vue-router的方法
Jul 18 Javascript
react项目实践之webpack-dev-serve
Sep 14 Javascript
Nuxt.js开启SSR渲染的教程详解
Nov 30 Javascript
使用koa2创建web项目的方法步骤
Mar 12 Javascript
Openlayers显示瓦片网格信息的方法
Sep 28 Javascript
javascript中不易分清的slice,splice和split三个函数
Mar 29 #Javascript
分析js闭包引起的事件注册问题
Mar 29 #Javascript
使用postMesssage()实现iframe跨域页面间的信息传递
Mar 29 #Javascript
Angularjs实现多个页面共享数据的方式
Mar 29 #Javascript
jQuery ajax请求返回list数据动态生成input标签,并把list数据赋值到input标签
Mar 29 #Javascript
JavaScript面向对象程序设计教程
Mar 29 #Javascript
jQuery实现图片加载完成后改变图片大小的方法
Mar 29 #Javascript
You might like
多重?l件?合查?(一)
2006/10/09 PHP
比较strtr, str_replace和preg_replace三个函数的效率
2013/06/26 PHP
PHP使用GIFEncoder类生成的GIF动态图片验证码
2014/07/01 PHP
简单了解WordPress开发中update_option()函数的用法
2016/01/11 PHP
Smarty模板变量与调节器实例详解
2019/07/20 PHP
JavaScript的目的分析
2007/01/05 Javascript
关于IE7 IE8弹出窗口顶上
2008/12/22 Javascript
JavaScript基本概念初级讲解论坛贴的学习记录
2009/02/22 Javascript
JavaScript获取/更改文本框的值的实例代码
2013/08/02 Javascript
javascript类型转换使用方法
2014/02/08 Javascript
探讨js字符串数组拼接的性能问题
2014/10/11 Javascript
input输入框鼠标焦点提示信息
2015/03/17 Javascript
js获取微信版本号的方法
2015/05/12 Javascript
实例详解jQuery结合GridView控件的使用方法
2016/01/04 Javascript
使用jquery.qrcode.min.js实现中文转化二维码
2016/03/11 Javascript
基于jquery插件编写countdown计时器
2016/06/12 Javascript
JS实现快速的导航下拉菜单动画效果附源码下载
2016/11/01 Javascript
jQuery简易时光轴实现方法示例
2017/03/13 Javascript
妙用Angularjs实现表格按指定列排序
2017/06/23 Javascript
javaScript实现滚动条事件详解
2020/03/24 Javascript
JS中的算法与数据结构之栈(Stack)实例详解
2019/08/20 Javascript
layUI使用layer.open,在content打开数据表格,获取值并返回的方法
2019/09/26 Javascript
js canvas实现五子棋小游戏
2021/01/22 Javascript
[04:42]5分钟带你了解什么是DOTA2(第一期)
2017/02/07 DOTA
Python统计时间内的并发数代码实例
2019/12/28 Python
对pytorch中x = x.view(x.size(0), -1) 的理解说明
2021/03/03 Python
CSS3之边框多颜色Border-color属性使用示例
2013/10/11 HTML / CSS
html5 canvas-1.canvas介绍(hello canvas)
2013/01/07 HTML / CSS
HTML5单页面手势滑屏切换原理分析
2017/07/10 HTML / CSS
机电一体化专业推荐信
2013/12/03 职场文书
外贸业务员求职信范文
2013/12/12 职场文书
农村婚礼证婚词
2014/01/10 职场文书
创建文明城市标语
2014/06/16 职场文书
大学生读书笔记大全
2015/07/01 职场文书
公司团队口号霸气押韵
2015/12/24 职场文书
优秀家长事迹材料(2016推荐版)
2016/02/29 职场文书