js实现简单图片拖拽效果


Posted in Javascript onFebruary 22, 2021

本文实例为大家分享了js实现简单图片拖拽效果的具体代码,供大家参考,具体内容如下

//图片需要自己导入
<!doctype html>
<html>
 <head>
 <meta charset="UTF-8">
 <title>在当前显示区范围内实现点不到的小方块</title>
 <style>
 div{position:fixed;width:100px;height:100px;
  background-image:url(images/xiaoxin.gif);
   background-size:100%;
 }
 </style>
 
 </head>
 <body>
 <div id="pop"></div>
 <script>
 let pop = document.getElementById("pop")
 //定义开关变量,用于控制图片是否跟随鼠标移动
 let canMove = false;
 //在开始拖拽时,就保存鼠标距div左上角的相对位置
 let offsetX,offsetY;
 //当在pop上按下鼠标时
 pop.onmousedown=function(e){
  //可以开始拖动
  canMove=true;
  offsetX=e.offsetX;
  offsetY=e.offsetY;
 }
 //当鼠标在窗口移动时
 window.onmousemove=function(e){
  //只有当pop可以移动时
  if(canMove==true){
  //让pop跟随鼠标移动
  //开始拖拽时,立刻获得鼠标距图片左上角的相对位置
  //求pop的top和left
  let left=e.clientX-offsetX;
  let top=e.clientY-offsetY;
  //设置pop的top和left属性
   pop.style.left=left+"px";
   pop.style.top=top+"px";
  }
 }
 //当在pop上抬起鼠标按键时
 pop.onmouseup=function(){
  //停止拖拽
  canMove=false
 } 
 </script>
 </body>
</html>

效果图:

js实现简单图片拖拽效果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
防止文件缓存的js代码
Jan 10 Javascript
javascript实现的DES加密示例
Oct 30 Javascript
原生js和jquery中有关透明度设置的相关问题
Jan 08 Javascript
JS和JQ的event对象区别分析
Nov 24 Javascript
js实现模拟银行卡账号输入显示效果
Nov 18 Javascript
JavaScript代码因逗号不规范导致IE不兼容的问题
Feb 25 Javascript
全面接触神奇的Bootstrap导航条实战篇
Aug 01 Javascript
详解微信小程序开发之下拉刷新 上拉加载
Nov 24 Javascript
JavaScript原生数组函数实例汇总
Oct 14 Javascript
vue通过接口直接下载java生成好的Excel表格案例
Oct 26 Javascript
原生JavaScript实现五子棋游戏
Nov 09 Javascript
解读Vue组件注册方式
May 15 Vue.js
用vite搭建vue3应用的实现方法
Feb 22 #Vue.js
详解Vite的新体验
Feb 22 #Javascript
详解Vue3.0 + TypeScript + Vite初体验
Feb 22 #Vue.js
Nest.js 授权验证的方法示例
Feb 22 #Javascript
使用原生javascript开发计算器实例代码
Feb 21 #Javascript
Nest.js环境变量配置与序列化详解
Feb 21 #Javascript
关于Js中new操作符的作用详解
Feb 21 #Javascript
You might like
PHP 模板高级篇总结
2006/12/21 PHP
PHP数组内存耗用太多问题的解决方法
2010/04/05 PHP
php生成动态验证码gif图片
2015/10/19 PHP
浅谈htmlentities 、htmlspecialchars、addslashes的使用方法
2016/12/09 PHP
PHP简单实现防止SQL注入的方法
2018/03/13 PHP
Smarty模板配置实例简析
2019/07/20 PHP
javascript 时间比较实现代码
2009/10/28 Javascript
JavaScript Event学习第十章 一些可替换的事件对
2010/02/10 Javascript
HTML长文本截取含有HTML代码同样适用的两种方法
2013/07/31 Javascript
AngularJS使用ngMessages进行表单验证
2015/12/27 Javascript
js实现的彩色方块飞舞奇幻效果
2016/01/27 Javascript
浅谈JavaScript中数组的增删改查
2016/06/20 Javascript
基于jQuery和hwSlider实现内容左右滑动切换效果附源码下载(一)
2016/06/22 Javascript
微信小程序之数据缓存的实例详解
2017/09/29 Javascript
JS处理数据四舍五入(tofixed与round的区别详解)
2017/10/26 Javascript
基于vue 动态加载图片src的解决方法
2018/02/05 Javascript
通过jQuery学习js类型判断的技巧
2019/05/27 jQuery
详解elementui之el-image-viewer(图片查看器)
2019/08/30 Javascript
基于Vue的商品主图放大镜方案详解
2019/09/19 Javascript
聊聊Vue中provide/inject的应用详解
2019/11/10 Javascript
[05:05]第三天的dota2
2013/07/29 DOTA
Python中数组,列表:冒号的灵活用法介绍(np数组,列表倒序)
2018/04/18 Python
利用 Flask 动态展示 Pyecharts 图表数据方法小结
2019/09/04 Python
学会迭代器设计模式,帮你大幅提升python性能
2021/01/03 Python
使用Python+Appuim 清理微信的方法
2021/01/26 Python
html5 CSS过度-webkit-transition使用介绍
2013/07/02 HTML / CSS
瑞典首都斯德哥尔摩的多元奢侈时尚品牌:Acne Studios
2017/07/09 全球购物
澳大利亚拥有最佳跳伞降落点和最好服务的跳伞项目运营商:Skydive Australia
2018/03/05 全球购物
家得宝官网:The Home Depot(全球最大的家居装饰专业零售商)
2018/12/17 全球购物
Expedia瑞典官网:预订度假屋、酒店、汽车租赁、机票等
2021/01/23 全球购物
优秀本科生求职推荐信
2014/02/24 职场文书
会议通知
2015/04/15 职场文书
贷款工作证明模板
2015/06/12 职场文书
公安忠诚教育心得体会
2016/01/23 职场文书
公务员的复习计划书,请收下!
2019/07/15 职场文书
浅谈Laravel中使用Slack进行异常通知
2021/05/29 PHP