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 相关文章推荐
深入理解JS中的变量及作用域、undefined与null
Mar 04 Javascript
JavaScript数组Array对象增加和删除元素方法总结
Jan 20 Javascript
js实现的全国省市二级联动下拉选择菜单完整实例
Aug 17 Javascript
jquery心形点赞关注效果的简单实现
Nov 14 Javascript
详解Javascript中DOM的范围
Feb 13 Javascript
详解在Vue中如何使用axios跨域访问数据
Jul 07 Javascript
vue 页面加载进度条组件实例
Feb 05 Javascript
vue2.0自定义指令示例代码详解
Apr 25 Javascript
JavaScript实现轮播图效果代码实例
Sep 28 Javascript
使用原生JS实现火锅点餐小程序(面向对象思想)
Dec 10 Javascript
多页vue应用的单页面打包方法(内含打包模式的应用)
Jun 11 Javascript
微信小程序自定义底部弹出框功能
Nov 18 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 getsiteurl()函数
2009/09/05 PHP
PHP使用SWOOLE扩展实现定时同步 MySQL 数据
2017/04/09 PHP
使用ThinkPHP生成缩略图及显示
2017/04/27 PHP
Jquery实现列表(隔行换色,全选,鼠标滑过当前行)效果实例
2013/06/09 Javascript
分享Javascript中最常用的55个经典小技巧
2013/11/29 Javascript
用javascript读取xml文件读取节点数据
2014/08/12 Javascript
PHP和NodeJs开发的应用如何共用Session
2015/04/16 NodeJs
用js编写的简单的计算器代码程序
2015/08/04 Javascript
学习Bootstrap滚动监听 附调用方法
2016/07/02 Javascript
AngularJS基础 ng-keypress 指令简单示例
2016/08/02 Javascript
简单几步实现返回顶部效果
2016/12/05 Javascript
浅谈开发eslint规则
2018/10/01 Javascript
小程序登录/注册页面设计的实现代码
2019/05/24 Javascript
JavaScript实现图片放大镜效果
2019/06/27 Javascript
layer扩展打开/关闭动画的方法
2019/09/23 Javascript
selenium+java中用js来完成日期的修改
2019/10/31 Javascript
详解vue v-model
2020/08/31 Javascript
使用Python实现BT种子和磁力链接的相互转换
2015/11/09 Python
Python输出由1,2,3,4组成的互不相同且无重复的三位数
2018/02/01 Python
python3.7.0的安装步骤
2018/08/27 Python
Django框架自定义session处理操作示例
2019/05/27 Python
Pandas之排序函数sort_values()的实现
2019/07/09 Python
Python3直接爬取图片URL并保存示例
2019/12/18 Python
pycharm第三方库安装失败的问题及解决经验分享
2020/05/09 Python
Keras在训练期间可视化训练误差和测试误差实例
2020/06/16 Python
pycharm 快速解决python代码冲突的问题
2021/01/15 Python
HEMA英国:荷兰原创设计
2018/08/28 全球购物
《列夫托尔斯泰》教学反思
2014/02/10 职场文书
工厂门卫岗位职责范本
2014/04/04 职场文书
自主招生学校推荐信
2014/09/26 职场文书
大学生见习报告范文
2014/11/03 职场文书
2014年客服工作总结范文
2014/11/13 职场文书
篮球比赛通讯稿
2015/07/18 职场文书
网络研修随笔感言
2015/11/18 职场文书
Python turtle实现贪吃蛇游戏
2021/06/18 Python
详解Go语言中Get/Post请求测试
2022/06/01 Golang