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 相关文章推荐
JS 自定义函数缺省值的设置方法
May 05 Javascript
javascript textarea光标定位方法(兼容IE和FF)
Mar 12 Javascript
自定义jQuery插件方式实现强制对象重绘的方法
Mar 23 Javascript
jquery动态导航插件dynamicNav用法实例分析
Sep 06 Javascript
jQuery超精致图片轮播幻灯片特效代码分享
Sep 10 Javascript
Bootstrap编写导航栏和登陆框
May 30 Javascript
jQuery ajaxSubmit 实现ajax提交表单局部刷新
Jul 04 Javascript
jQuery对checkbox 复选框的全选全不选反选的操作
Aug 09 Javascript
jQuery实现的瀑布流加载效果示例
Sep 13 Javascript
Javascript数组中push方法用法分析
Oct 31 Javascript
Vue常用的几个指令附完整案例
Nov 06 Javascript
angular中两种表单的区别(响应式和模板驱动表单)
Dec 06 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与mysql建立连接并执行SQL语句的代码
2011/07/04 PHP
PH P5.2至5.5、5.6的新增功能详解
2014/07/14 PHP
PHP基于curl post实现发送url及相关中文乱码问题解决方法
2017/11/25 PHP
PHP实现求连续子数组最大和问题2种解决方法
2017/12/26 PHP
IE 缓存策略的BUG的解决方法
2007/07/21 Javascript
ExtJS中文乱码之GBK格式编码解决方案及代码
2013/01/20 Javascript
js 设置缓存及获取设置的缓存
2014/05/08 Javascript
介绍JavaScript中Math.abs()方法的使用
2015/06/14 Javascript
跟我学习javascript的最新标准ES6
2015/11/20 Javascript
JavaScript实现跑马灯抽奖活动实例代码解析与优化(一)
2016/02/16 Javascript
connection reset by peer问题总结及解决方案
2016/10/21 Javascript
javascript实现获取图片大小及图片等比缩放的方法
2016/11/24 Javascript
浅谈js中几种实用的跨域方法原理详解
2016/12/02 Javascript
jquery平滑滚动到顶部插件使用详解
2017/05/08 jQuery
详解webpack性能优化——DLL
2017/10/20 Javascript
本地搭建微信小程序服务器的实现方法
2017/10/27 Javascript
详解Vue组件实现tips的总结
2017/11/01 Javascript
浅谈React前后端同构防止重复渲染
2018/01/05 Javascript
学习JS中的DOM节点以及操作
2018/04/30 Javascript
Node.js 使用request模块下载文件的实例
2018/09/05 Javascript
寻找网站后台地址的python脚本
2014/09/01 Python
python实现爬虫统计学校BBS男女比例(一)
2015/12/31 Python
python实现随机漫步算法
2018/08/27 Python
python利用ffmpeg进行录制屏幕的方法
2019/01/10 Python
numpy ndarray 取出满足特定条件的某些行实例
2019/12/05 Python
Python中的With语句的使用及原理
2020/07/29 Python
信息专业个人的自我评价
2013/12/27 职场文书
2014年两会学习心得体会
2014/03/10 职场文书
环保建议书100字
2014/05/14 职场文书
岗位说明书怎么写
2014/07/30 职场文书
合作协议书范文
2014/08/20 职场文书
教师党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
房屋登记授权委托书范本
2014/10/09 职场文书
党员批评与自我批评材料
2014/10/14 职场文书
使用PDF.js渲染canvas实现预览pdf的效果示例
2021/04/17 Javascript
Python 居然可以在 Excel 中画画你知道吗
2022/02/15 Python