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 动态加载事件的几种方法总结
Dec 25 Javascript
javascript中兼容主流浏览器的动态生成iframe方法
May 05 Javascript
js实现两点之间画线的方法
May 12 Javascript
常用jQuery代码分享
Jul 14 Javascript
JavaScript的new date等日期函数在safari中遇到的坑
Oct 24 Javascript
EasyUI 结合JS导出Excel文件的实现方法
Nov 10 Javascript
3种vue路由传参的基本模式
Feb 22 Javascript
JS装饰器函数用法总结
Apr 21 Javascript
vue+koa2实现session、token登陆状态验证的示例
Aug 30 Javascript
js判断复选框是否选中的方法示例【基于jQuery】
Oct 10 jQuery
vue 查看dist文件里的结构(多种方式)
Jan 17 Javascript
JavaScript设计模式之门面模式原理与实现方法分析
Mar 09 Javascript
用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
综合图片计数器
2006/10/09 PHP
php实现上传图片文件代码
2015/07/19 PHP
PHP实现的DES加密解密实例代码
2016/04/06 PHP
PHP模板引擎Smarty内建函数详解
2016/04/11 PHP
微信公众号OAuth2.0网页授权问题浅析
2017/01/21 PHP
Yii 2.0在Grid中格式化时间方法示例
2017/06/06 PHP
TP5.0框架实现无限极回复功能的方法分析
2019/05/04 PHP
CSS3画一个阴阳八卦图
2021/03/09 HTML / CSS
JS 中document.URL 和 windows.location.href 的区别
2009/11/11 Javascript
为JS扩展Array.prototype.indexOf引发的问题探讨及解决
2013/04/24 Javascript
JQuery显示隐藏页面元素的方法总结
2015/04/16 Javascript
JavaScript轻松创建级联函数的方法示例
2017/02/10 Javascript
JS中如何实现Laravel的route函数详解
2017/02/12 Javascript
微信小程序 图片绝对定位(背景图片)
2017/04/05 Javascript
Vuex之理解Getters的用法实例
2017/04/19 Javascript
详解vue+vueRouter+webpack的简单实例
2017/06/17 Javascript
Vue.js实现一个todo-list的上移下移删除功能
2017/06/26 Javascript
DataTables添加额外的查询参数和删除columns等无用参数实例
2017/07/04 Javascript
Javascript快速实现浏览器系统通知
2017/08/26 Javascript
prototype.js简单实现ajax功能示例
2017/10/18 Javascript
vue-cli3.0 特性解读
2018/04/22 Javascript
ES6基础之默认参数值
2019/02/21 Javascript
layer扩展打开/关闭动画的方法
2019/09/23 Javascript
详解vue 自定义组件使用v-model 及探究其中原理
2019/10/11 Javascript
原生js实现日历效果
2020/03/02 Javascript
微信小程序实现简单的select下拉框
2020/11/23 Javascript
python生成指定长度的随机数密码
2014/01/23 Python
python如何为创建大量实例节省内存
2018/03/20 Python
适合Python初学者的一些编程技巧
2020/02/12 Python
在Django中自定义filter并在template中的使用详解
2020/05/19 Python
Python3爬虫带上cookie的实例代码
2020/07/28 Python
Python基于Faker假数据构造库
2020/11/30 Python
印度和世界各地的精美产品:Ikka Dukka
2018/02/12 全球购物
英国PC组件和在线电脑商店:SCAN
2019/04/18 全球购物
以实惠的价格轻松租车,免费取消:Easyrentcars
2019/07/16 全球购物
服装设计专业求职信
2014/06/16 职场文书