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 相关文章推荐
javascritp实现input输入框相关限制用法
Jun 29 Javascript
学习ExtJS TextField常用方法
Oct 07 Javascript
jQuery 渐变下拉菜单
Dec 15 Javascript
js 页面关闭前的出现提示的实现代码
May 25 Javascript
谈谈我对JavaScript原型和闭包系列理解(随手笔记8)
Dec 24 Javascript
两种方法解决javascript url post 特殊字符转义 + &amp; #
Apr 13 Javascript
JS实现的自定义水平滚动字体插件完整实例
Jun 17 Javascript
详解vue中axios请求的封装
Apr 08 Javascript
在Vue项目中使用jsencrypt.js对数据进行加密传输的方法
Apr 17 Javascript
微信小程序wx.getUserInfo授权获取用户信息(头像、昵称)的实现
Aug 19 Javascript
Js实现粘贴上传图片的原理及示例
Dec 09 Javascript
JavaScript实现班级抽签小程序
May 19 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
PHPEXCEL 使用小记
2013/01/06 PHP
php使用pack处理二进制文件的方法
2014/07/03 PHP
php使用simplexml_load_file加载XML文件并显示XML的方法
2015/03/19 PHP
php判断一个数组是否为有序的方法
2015/03/27 PHP
PHP入门教程之上传文件实例详解
2016/09/11 PHP
新闻内页-JS分页
2006/06/07 Javascript
用jquery实现自定义风格的滑动条实现代码
2011/04/26 Javascript
jquery插件bxslider用法实例分析
2015/04/16 Javascript
nodejs通过phantomjs实现下载网页
2015/05/04 NodeJs
WordPress中利用AJAX异步获取评论用户头像的方法
2016/01/08 Javascript
Bootstrapvalidator校验、校验清除重置的实现代码(推荐)
2016/09/28 Javascript
详解Vue 开发模式下跨域问题
2017/06/06 Javascript
angular.js中解决跨域问题的三种方式
2017/07/12 Javascript
JS+HTML5实现图片在线预览功能
2017/07/22 Javascript
angular中实现li或者某个元素点击变色的两种方法
2017/07/27 Javascript
angular中ui calendar的一些使用心得(推荐)
2017/11/03 Javascript
Angular2+如何去除url中的#号详解
2017/12/20 Javascript
vue将时间戳转换成自定义时间格式的方法
2018/03/02 Javascript
代码整洁之道(重构)
2018/10/25 Javascript
基于vue、react实现倒计时效果
2019/08/26 Javascript
vue.js实现只能输入数字的输入框
2019/10/19 Javascript
Vue组件基础用法详解
2020/02/05 Javascript
vue-cli3中配置alias和打包加hash值操作
2020/09/04 Javascript
深入探究Django中的Session与Cookie
2017/07/30 Python
Python3.4学习笔记之列表、数组操作示例
2019/03/01 Python
使用Python创建简单的HTTP服务器的方法步骤
2019/04/26 Python
python数值基础知识浅析
2019/11/19 Python
python实现图像拼接
2020/03/05 Python
如何搭建pytorch环境的方法步骤
2020/05/06 Python
Python datetime模块使用方法小结
2020/06/18 Python
python调用win32接口进行截图的示例
2020/11/11 Python
个人找工作的自我评价
2013/10/17 职场文书
商务英语求职自荐信范文
2013/12/24 职场文书
夜不归宿检讨书
2014/02/25 职场文书
家长建议怎么写
2014/05/15 职场文书
SQL Server2019数据库备份与还原脚本,数据库可批量备份
2021/11/20 SQL Server