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子元素过滤选择器使用示例
Jun 24 Javascript
javascript不同类型数据之间的运算的转换方法
Feb 13 Javascript
jQuery1.9.1源码分析系列(十六)ajax之ajax框架
Dec 04 Javascript
javascript与jquery中的this关键字用法实例分析
Dec 24 Javascript
Angular实现图片裁剪工具ngImgCrop实践
Aug 17 Javascript
Vue.js实现实例搜索应用功能详细代码
Aug 24 Javascript
引入外部js脚本加载慢与页面白屏问题的解决
Dec 10 Javascript
vuejs数据超出单行显示更多,点击展开剩余数据实例
May 05 Javascript
jquery中attr、prop、data区别与用法分析
Sep 25 jQuery
JS实现贪吃蛇游戏
Nov 15 Javascript
electron 如何将任意资源打包的方法步骤
Apr 16 Javascript
小程序实现点击tab切换左右滑动
Nov 16 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
dedecms后台验证码总提示错误的解决方法
2007/03/21 PHP
PHP得到某段时间区间的时间戳 php定时任务
2012/04/12 PHP
PHP转换IP地址到真实地址的方法详解
2013/06/09 PHP
PHP生成随机数的方法实例分析
2015/01/22 PHP
JavaScript高级程序设计 阅读笔记(二十一) JavaScript中的XML
2012/09/14 Javascript
使用javascript过滤html的字符串(注释标记法)
2013/07/08 Javascript
js简单实现让文本框内容逐个字的显示出来
2013/10/22 Javascript
jquery代码实现多选、不同分享功能
2015/07/31 Javascript
JavaScript中的this机制
2016/01/30 Javascript
JavaScript DOM 对象深入了解
2016/07/20 Javascript
jQuery插件FusionCharts绘制2D环饼图效果示例【附demo源码】
2017/04/10 jQuery
jquery Form轻松实现文件上传
2017/05/24 jQuery
vue中如何使用ztree
2018/02/06 Javascript
JS+HTML实现的圆形可点击区域示例【3种方法】
2018/08/01 Javascript
JavaScript函数IIFE使用详解
2019/10/21 Javascript
鸿蒙系统中的 JS 开发框架
2020/09/18 Javascript
小程序实现左滑删除的效果的实例代码
2020/10/19 Javascript
解决iView Table组件宽度只变大不变小的问题
2020/11/13 Javascript
Vue多选列表组件深入详解
2021/03/02 Vue.js
Python随手笔记第一篇(2)之初识列表和元组
2016/01/23 Python
Python对象与引用的介绍
2019/01/24 Python
对Python3 * 和 ** 运算符详解
2019/02/16 Python
CSS中越界问题的经典解决方案【推荐】
2016/04/19 HTML / CSS
利用CSS3制作简单的3d半透明立方体图片展示
2017/03/25 HTML / CSS
土建资料员岗位职责
2014/01/04 职场文书
幼儿园小班植树节活动方案
2014/03/04 职场文书
社区工作者演讲稿
2014/05/23 职场文书
义务教育学校标准化建设汇报材料
2014/08/16 职场文书
机关干部四风问题自我剖析及整改措施
2014/10/26 职场文书
2015年初中元旦晚会活动总结
2014/11/28 职场文书
拿破仑传读书笔记
2015/07/01 职场文书
商务信函英语问候语
2015/11/10 职场文书
2016大一新生军训心得体会
2016/01/11 职场文书
2016党性教育学习心得体会
2016/01/21 职场文书
你会写请假条吗?
2019/06/26 职场文书
Python Pandas 删除列操作
2022/03/16 Python