js基础拖拽效果
- function drag(ele) {
- const config = {
- mark: 0,
- x: 0,
- y: 0,
- left: ele.offsetLeft,
- top: ele.offsetTop,
- newLeft: 0,
- newTop: 0,
- }
- ele.onmousedown = (e) => {
- config.mark = 1;
- config.x = e.clientX;
- config.y = e.clientY;
- }
- document.addEventListener('mousemove', (e) => {
- if (!config.mark) {
- return;
- }
- ele.style.left = config.left + e.clientX - config.x + 'px';
- ele.style.top = config.top + e.clientY - config.y + 'px';
- // 记录新的 left 和 top
- config.newLeft = config.left + e.clientX - config.x;
- config.newTop = config.top + e.clientY - config.y;
- });
- document.addEventListener('mouseup', (e) => {
- if (config.mark) {
- config.left = config.newLeft;
- config.top = config.newTop;
- }
- config.mark = 0;
- });
- }
- const div = document.querySelector('div');
- const p = document.querySelector('p');
- drag(div);
- drag(p);
- /*
- <div style="background: rgb(0, 0, 0); width: 100px; height: 100px; position: absolute;"></div>
- <p style="background: rgb(155, 155, 155); width: 100px; height: 100px; position: absolute;"></p>
- */
js基础拖拽效果的更多相关文章
- JS实现拖拽效果
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title> ...
- js 鼠标拖拽效果实现
效果: 源码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...
- 原生js实现拖拽效果
面向对象 + 原生js拖拽 拖拽div等盒子模型,都是日常操作没有什么问题,如果是拖拽图片的话,会有一点小坑要踩...... 那么我们看代码: var Move_fn = {}; (function( ...
- 【转】JS容器拖拽效果,并通过cookie保存拖拽各容器的所在位置
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- JS移动客户端--触屏滑动事件及js手机拖拽效果
移动端触屏滑动的效果其实就是图片轮播,在PC的页面上很好实现,绑定click和mouseover等事件来完成.但是在移动设备上,要实现这种轮播的效果,就需要用到核心的touch事件.处理touch事件 ...
- JS实现漂亮的窗口拖拽效果(可改变大小、最大化、最小化、关闭)
转自<JS实现漂亮的窗口拖拽效果(可改变大小.最大化.最小化.关闭)>:http://www.jb51.net/article/73157.htm 这篇文章主要介绍了JS实现漂亮的窗口 ...
- React.js实现原生js拖拽效果及思考
一.起因&思路 不知不觉,已经好几天没写博客了...近来除了研究React,还做了公司官网... 一直想写一个原生js拖拽效果,又加上近来学react学得比较嗨.所以就用react来实现这个拖 ...
- js拖拽效果
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- js div浮动层拖拽效果代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
随机推荐
- 多线程之:java的CAS操作的相关信息
一:锁机制存在的性能问题? 在JDK 5之前Java语言是靠synchronized关键字保证同步的,这会导致有锁(后面的章节还会谈到锁). 锁机制存在以下问题:(1)在多线程竞争下,加锁.释放锁会导 ...
- POJ1144(割点入门题)
Network Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 11378 Accepted: 5285 Descript ...
- DataTable批量插入数据库
最近在将excel中的文件导入到数据库中,用程序进行编写,由于数据量较大所以速度很慢,后来采用了SqlBulkCopy类,解决了速度的问题,我就insert语句,sqldataadapter.upda ...
- caffe 逐步调试
caffe 逐步调试 https://www.zhihu.com/question/27982282
- idea救命篇--误删文件恢复
删除.覆盖文件恢复:右键文件--Local History 查到被删的代码,idea自动保存的. 即使文件目录文件被删了,在同地方新建一个同名空文件,也可以通过Local History找回来代码.
- CF-816B
B. Karen and Coffee time limit per test 2.5 seconds memory limit per test 512 megabytes input standa ...
- [yii]Trying to get property of non-object
今天接触gridview的时候,发现总是报错,如图. array( 'name'=>'user_info.userinfo', 'value'=>'$data->user_info- ...
- vim跳转到文件的指定偏移位置
:goto 偏移量 例如:偏移到文件的第100个字节处 :goto 100
- HDU - 6082 度度熊与邪恶大魔王(背包变式)
度度熊与邪恶大魔王 度度熊为了拯救可爱的公主,于是与邪恶大魔王战斗起来. 邪恶大魔王的麾下有n个怪兽,每个怪兽有a[i]的生命值,以及b[i]的防御力. 度度熊一共拥有m种攻击方式,第i种攻击方式,需 ...
- 异步和多线程,委托异步调用,Thread,ThreadPool,Task,Parallel,CancellationTokenSource
1 进程-线程-多线程,同步和异步2 异步使用和回调3 异步参数4 异步等待5 异步返回值 5 多线程的特点:不卡主线程.速度快.无序性7 thread:线程等待,回调,前台线程/后台线程, 8 th ...