js解决movebox移动问题

 更新时间:2016年03月29日 14:42:02   作者:月光为邻  
这篇文章主要为大家详细介绍了js解决movebox移动问题,取消图片默认拖动事件,感兴趣的小伙伴们可以参考一下

本文为大家分享了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实现的CSS代码高亮显示

    Javascript实现的CSS代码高亮显示

    到网上一位别出心裁的高手使用字符串而不是正则表达式实现了Javascript代码高亮显示,自己受益匪浅,于是就构思了CSS代码的高亮显示。
    2009-11-11
  • JavaScript之class继承_动力节点Java学院整理

    JavaScript之class继承_动力节点Java学院整理

    这篇文章主要介绍了JavaScript之class继承,新的关键字class从ES6开始正式被引入到JavaScript中。class的目的就是让定义类更简单,有兴趣的可以了解一下
    2017-07-07
  • JavaScript cookie原理及使用实例

    JavaScript cookie原理及使用实例

    这篇文章主要介绍了JavaScript cookie原理及使用实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • 表单验证正则表达式实例代码详解

    表单验证正则表达式实例代码详解

    这篇文章主要介绍了表单验证正则表达式实例代码详解的相关资料,需要的朋友可以参考下
    2015-11-11
  • JavaScript 字符串乘法

    JavaScript 字符串乘法

    JavaScript 字符串乘法,国外的文章,翻译
    2009-08-08
  • JavaScript数组操作之旋转二维数组

    JavaScript数组操作之旋转二维数组

    这篇文章主要介绍了JavaScript数组操作之旋转二维数组,主要从两个方面展开文章介绍,一是通过对数组的操作熟练度;二是(镜像反转)比实现一更优,减少了空间复杂度,内容介绍具有一定的参考价值,需要的小伙伴可以参考一下
    2022-04-04
  • javascript比较文档位置

    javascript比较文档位置

    一个很棒的 blog 文章,是 PPK 两年前写的,文章中解释了 contains() 和 compareDocumentPosition() 方法运行在他们各自的浏览器上。从那起,我已经对这些方法做了大量的研究,并且已经在很多场合使用他们。在很多任务中,他们被证明是非常有用的(特别关于结构的抽象 DOM 选择器)。
    2008-04-04
  • JS实现的鼠标跟随代码(卡通手型点击效果)

    JS实现的鼠标跟随代码(卡通手型点击效果)

    这篇文章主要介绍了JS实现的鼠标跟随代码,带有卡通手型点击效果.涉及JavaScript鼠标事件的响应与页面元素的动态调用技巧,需要的朋友可以参考下
    2015-10-10
  • javascript Echart可视化学习

    javascript Echart可视化学习

    这篇文章主要为大家介绍了Echart可视化学习的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-01-01
  • js动态设置鼠标事件示例代码

    js动态设置鼠标事件示例代码

    动态设置鼠标事件的方法有很多,接下来为大家介绍下js中是如何做到的,感兴趣的朋友不要错过
    2013-10-10

最新评论