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 相关文章推荐
讲两件事:1.this指针的用法小探. 2.ie的attachEvent和firefox的addEventListener在事件处理上的区别
Apr 12 Javascript
Extjs入门之动态加载树代码
Apr 09 Javascript
JavaScript经典效果集锦
Jul 06 Javascript
js与运算符和或运算符的妙用
Feb 14 Javascript
jQuery实现点击图片翻页展示效果的方法
Feb 16 Javascript
JS实现两表格里数据来回转移的方法
May 28 Javascript
纯JS实现本地图片预览的方法
Jul 31 Javascript
PHP抓取HTTPS内容和错误处理的方法
Sep 30 Javascript
js仿百度音乐全选操作
Jan 13 Javascript
layui的select联动实现代码
Sep 28 Javascript
小程序实现按下录音松开识别语音
Nov 22 Javascript
Vue时间轴 vue-light-timeline的用法说明
Oct 29 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生成条形图的方法
2014/12/10 PHP
简单介绍win7下搭建apache+php+mysql开发环境
2015/08/06 PHP
php开发微信支付获取用户地址
2015/10/04 PHP
php 输入输出流详解及示例代码
2016/08/25 PHP
PHP小白必须要知道的php基础知识(超实用)
2017/10/10 PHP
javascript中定义私有方法说明(private method)
2014/01/27 Javascript
使用jquery实现放大镜效果
2014/09/02 Javascript
jQuery结合ajax实现动态加载文本内容
2015/05/19 Javascript
JavaScript和HTML DOM的区别与联系及Javascript和DOM的关系
2015/11/15 Javascript
JavaScript简单实现弹出拖拽窗口(二)
2016/06/17 Javascript
学习Node.js模块机制
2016/10/17 Javascript
微信小程序利用co处理异步流程的方法教程
2017/05/20 Javascript
nodejs利用ajax实现网页无刷新上传图片实例代码
2017/06/06 NodeJs
JavaScript实现连连看连线算法
2019/01/05 Javascript
ES6知识点整理之函数对象参数默认值及其解构应用示例
2019/04/17 Javascript
webpack实践之DLLPlugin 和 DLLReferencePlugin的使用教程
2019/06/10 Javascript
Python中使用socket发送HTTP请求数据接收不完整问题解决方法
2015/02/04 Python
编写Python的web框架中的Model的教程
2015/04/29 Python
Python人脸识别初探
2017/12/21 Python
Django中日期处理注意事项与自定义时间格式转换详解
2018/08/06 Python
python实现两张图片的像素融合
2019/02/23 Python
python3+PyQt5 使用三种不同的简便项窗口部件显示数据的方法
2019/06/17 Python
简单了解python gevent 协程使用及作用
2019/07/22 Python
python实现递归查找某个路径下所有文件中的中文字符
2019/08/31 Python
AHAVA美国官方网站:死海海泥护肤品牌
2016/10/18 全球购物
意大利奢侈品购物网站:Deliberti
2019/10/08 全球购物
JENNIFER BEHR官网:各种耳环和发饰
2020/06/07 全球购物
实习求职信
2013/12/01 职场文书
安全承诺书范文
2014/03/26 职场文书
大学三年计划书范文
2014/04/30 职场文书
会计学毕业生求职信
2014/06/25 职场文书
五五普法心得体会
2014/09/04 职场文书
结婚保证书(三从四德)
2015/02/26 职场文书
2016大学生诚信考试承诺书
2016/03/25 职场文书
javascript对象3个属性特征
2021/11/17 Javascript
Python OpenGL基本配置方式
2022/05/20 Python