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 相关文章推荐
javascript options属性集合操作代码
Dec 28 Javascript
js replace正则表达式应用案例讲解
Jan 17 Javascript
javascript数组详解
Oct 22 Javascript
js实现精美的银灰色竖排折叠菜单
May 16 Javascript
Bootstrap每天必学之滚动监听
Mar 16 Javascript
JS 对象(Object)和字符串(String)互转方法
May 20 Javascript
深入浅析javascript中的作用域(推荐)
Jul 19 Javascript
JS全角与半角转化实例(分享)
Jul 04 Javascript
Vuejs实现购物车功能
Nov 05 Javascript
node.js基于express使用websocket的方法
Nov 09 Javascript
ndm:NPM的桌面GUI应用程序
Oct 15 Javascript
vant中的toast层级改变操作
Nov 04 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
PHP中批量生成静态html(命令行下运行PHP)
2014/04/19 PHP
ThinkPHP实现ajax仿官网搜索功能实例
2014/12/02 PHP
CI操作cookie的方法分析(基于helper类库)
2016/03/28 PHP
用PHP将Unicode 转化为UTF-8的实现方法(推荐)
2017/02/08 PHP
jQuery Div中加载其他页面的实现代码
2009/02/27 Javascript
网页禁用右键实现代码(JavaScript代码)
2009/10/29 Javascript
javascript hasFocus使用实例
2010/06/29 Javascript
IE下js调试工具Companion.JS
2010/10/15 Javascript
window.location.reload()方法刷新页面弹出要再次显示该网页对话框
2013/04/24 Javascript
jQuery.position()方法获取不到值的安全替换方法
2015/03/13 Javascript
两种JS实现屏蔽鼠标右键的方法
2020/08/20 Javascript
使用 stylelint检查CSS_StyleLint
2016/04/28 Javascript
JavaScript中boolean类型之三种情景实例代码
2016/11/21 Javascript
vue-router路由参数刷新消失的问题解决方法
2017/06/17 Javascript
JavaScript正则表达式校验与递归函数实际应用实例解析
2017/08/04 Javascript
实例分析js事件循环机制
2017/12/13 Javascript
vue框架搭建之axios使用教程
2018/07/11 Javascript
基于Vue+element-ui 的Table二次封装的实现
2018/07/20 Javascript
VUE 实现element upload上传图片到阿里云
2020/08/12 Javascript
JS删除对象中某一属性案例详解
2020/09/08 Javascript
Python多进程同步简单实现代码
2016/04/27 Python
Python实现自动为照片添加日期并分类的方法
2017/09/30 Python
Python3.4 tkinter,PIL图片转换
2018/06/21 Python
python实现简单图片物体标注工具
2019/03/18 Python
Flask框架请求钩子与request请求对象用法实例分析
2019/11/07 Python
Python如何使用input函数获取输入
2020/08/06 Python
python 实现aes256加密
2020/11/27 Python
获取邓白氏信用报告:Dun & Bradstreet
2019/01/22 全球购物
教师岗位职责范本
2013/12/29 职场文书
企业宣传方案
2014/03/04 职场文书
邹越感恩父母演讲稿
2014/08/28 职场文书
学生保证书格式
2015/02/27 职场文书
幼儿园毕业致辞
2015/07/29 职场文书
Opencv中cv2.floodFill算法的使用
2021/06/18 Python
Pygame Time时间控制的具体使用详解
2021/11/17 Python
教你如何让spark sql写mysql的时候支持update操作
2022/02/15 MySQL