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 相关文章推荐
tagName的使用,留一笔
Jun 26 Javascript
javascript实现动态增加删除表格行(兼容IE/FF)
Apr 02 Javascript
js arguments对象应用介绍
Nov 28 Javascript
javascript:;与javascript:void(0)使用介绍
Jun 05 Javascript
javascript生成随机大小写字母的方法
Feb 20 Javascript
常用的JavaScript模板引擎介绍
Feb 28 Javascript
jQuery实现的登录浮动框效果代码
Sep 26 Javascript
原生JS实现首页进度加载动画
Sep 14 Javascript
微信开发 微信授权详解
Oct 21 Javascript
简单理解vue中Props属性
Oct 27 Javascript
vue.js 实现图片本地预览 裁剪 压缩 上传功能
Mar 01 Javascript
jQuery实现数字自动增加或者减少的动画效果示例
Dec 11 jQuery
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
Mysql和网页显示乱码解决方法集锦
2008/03/27 PHP
php中通过正则表达式下载内容中的远程图片的函数代码
2012/01/10 PHP
PHP中批量生成静态html(命令行下运行PHP)
2014/04/19 PHP
PHP中使用正则表达式提取中文实现笔记
2015/01/20 PHP
Linux(CentOS)下PHP扩展PDO编译安装的方法
2016/04/07 PHP
session 加入redis的实现代码
2016/07/15 PHP
PHP自动载入类文件函数__autoload的使用方法
2019/03/25 PHP
Laravel框架之解决前端显示图片问题
2019/10/24 PHP
laravel 错误处理,接口错误返回json代码
2019/10/25 PHP
ExtJs使用总结(非常详细)
2012/03/22 Javascript
Jquery显示和隐藏元素或设为只读(含Ligerui的控件禁用,实例说明介绍)
2013/07/09 Javascript
Js base64 加密解密介绍
2013/10/11 Javascript
在JavaScript中构建ArrayList示例代码
2014/09/17 Javascript
浅谈轻量级js模板引擎simplite
2015/02/13 Javascript
判断访客终端类型集锦
2015/06/05 Javascript
JavaScript实现自动消除按钮功能的方法
2015/08/05 Javascript
下雪了 javascript实现雪花飞舞
2020/08/02 Javascript
vue2.0开发实践总结之疑难篇
2016/12/07 Javascript
基于jQuery实现数字滚动效果
2017/01/16 Javascript
node.js入门学习之url模块
2017/02/25 Javascript
AngularJS路由实现页面跳转实例
2017/03/03 Javascript
node.js操作mysql简单实例
2017/05/25 Javascript
WdatePicker.js时间日期插件的使用方法
2017/07/26 Javascript
JavaScript中利用Array filter() 方法压缩稀疏数组
2018/02/24 Javascript
js构造函数constructor和原型prototype原理与用法实例分析
2020/03/02 Javascript
微信小程序实现搜索功能
2020/03/10 Javascript
在Python中使用元类的教程
2015/04/28 Python
python rolling regression. 使用 Python 实现滚动回归操作
2020/06/08 Python
Python调用高德API实现批量地址转经纬度并写入表格的功能
2021/01/12 Python
Python绘制数码晶体管日期
2021/02/19 Python
HTML中meta标签及Keywords
2020/04/15 HTML / CSS
英国领先的男装设计师服装购物网站:Mainline Menswear
2018/02/04 全球购物
运动会演讲稿
2014/05/07 职场文书
酒店员工辞职信范文
2015/02/28 职场文书
工伤劳动仲裁代理词
2015/05/25 职场文书
python使用pycharm安装pyqt5以及相关配置
2022/04/22 Python