首页 > 其他分享 >jquery设置图片可手动拖拽

jquery设置图片可手动拖拽

时间:2023-10-02 11:11:48浏览次数:41  
标签:jquery mousePos 手动 event isDragging var 拖拽 elemPos

JQuery是一款流行的JavaScript框架,可以轻松实现网页交互效果。而其中一种常见效果是图片手动拖拽。以下是设置图片手动拖拽的JQuery代码。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 $(document).ready(function() { var isDragging = false; var mousePos = { x: 0, y: 0 }; var elemPos = { x: 0, y: 0 }; var $elem = $(".drag-image"); $elem.mousedown(function(event) { isDragging = true; mousePos.x = event.pageX; mousePos.y = event.pageY; elemPos.x = $elem.offset().left; elemPos.y = $elem.offset().top; }); $(document).mousemove(function(event) { if (isDragging) { var dx = event.pageX - mousePos.x; var dy = event.pageY - mousePos.y; $elem.offset({ left: elemPos.x + dx, top: elemPos.y + dy }); } }); $(document).mouseup(function() { isDragging = false; }); });

  

代码解释:

首先在文档准备就绪时声明变量。isDragging用于判断是否在拖拽状态,mousePos记录鼠标的坐标,elemPos记录需要移动的元素的坐标,$elem是需要进行拖拽的元素。鼠标按下时,设置isDragging为true,并记录鼠标的位置和需要移动的元素的位置。当鼠标移动时,计算出移动的距离,并设置元素的位置。当鼠标抬起时,设置isDragging为false。

需要注意的是,该代码仅适用于鼠标拖拽,对于移动端需进行修改。

演示地址:9335游戏网-中文游戏门户站

标签:jquery,mousePos,手动,event,isDragging,var,拖拽,elemPos
From: https://www.cnblogs.com/zx8868/p/17739784.html

相关文章

  • 23.JQuery选择器,事件和操作Dom元素
    JQuery选择器://原生选择器少,不好记//标签选择器$('p').click();//ID选择器$('#id').click();//类选择器$('.class').click();JQuery事件:当网页加载完之后相应以下事件$(document).ready(function(){})简化之后的:$(function(){});获......
  • 动手动脑
    piblicclassText{publicstaticvoidmain(String[]args){Fooobj1==newFoo();}}classFoo{intvalue;publicFoo(intinitValue){value=initValue;}}以下代码为何无法通过编译?哪儿出错了?首先是我们自己在类Foo里......
  • 动手动脑
    1.早期经常这样定义变量intvalue=100;前面的示例中这样定义变量MyClassobj=newMyClass();这两种方式定义的变量是一样的吗?不,这两种方式定义的变量并不相同。在第一个例子中,intvalue=100;是在Java中定义一个名为value的整数类型变量,并将其初始化为100。这是基本数据......
  • 手动实现BERT
      本文重点介绍了如何从零训练一个BERT模型的过程,包括整体上BERT模型架构、数据集如何做预处理、MASK替换策略、训练模型和保存、加载模型和测试等。一.BERT架构  BERT设计初衷是作为一个通用的backbone,然后在下游接入各种任务,包括翻译任务、分类任务、回归任务等。BERT模型......
  • 手动实现Transformer
      Transformer和BERT可谓是LLM的基础模型,彻底搞懂极其必要。Transformer最初设想是作为文本翻译模型使用的,而BERT模型构建使用了Transformer的部分组件,如果理解了Transformer,则能很轻松地理解BERT。一.Transformer模型架构1.编码器(1)Multi-HeadAttention(多头注意力机制)  ......
  • 9.29 动手动脑
    一、因为构造函数仅有有参构造。如果类提供了一个自定义的构造方法,将导致系统不再提供默认构造方法。二、静态初始化块只执行一次。创建子类型的对象时,也会导致父类型的静态初始化块的执行。三、类的静态方法不能直接访问实例的成员,它只能访问同类的静态成员。访问实例的成员......
  • 2023.09.26 动手动脑
    Java的类在构造时会提供一个无参的构造方法,如果已存在用户已经自定义的构造方法,则原有的无参构造方法将无法调用,只能调用自己定义的构造方法。静态初始化的执行顺序:classRoot{static{System.out.println("Root的静态初始化块");}{Sys......
  • 2023年9月28日(动手动脑)
    PublicclassTese{pulicstaticvoifmain(String[]args){Fooobj1=newFoo();}classFoo{intvalue;publicFoo(intinitValue){value=initValue;}}}以上代码在编译时会出现错误,原因是因为如果类提供了一个自定义的构造方法,将导致系统不再提高默认构造方法。而对......
  • 2023.9.28动手动脑
    1.此代码有什么问题 建造构造类的构造函数,再调用时需要输入传入参数,不能再调用原始类的默认构造。2.静态方法中只允许访问静态数据,那么,如何在静态方法中访问类的实例成员(即没有附加static关键字的字段或方法)?在静态方法中访问类的实例成员(非静态字段或方法),需要通过实例化类对......
  • jQuery中hide()和display的区别在于它们实现元素隐藏的方式不同。
    1.hide()方法是jQuery提供的一个函数,用于隐藏元素。当使用hide()方法时,元素会被设置为display:none,即不显示在页面上,但仍然占据着原来的空间。隐藏后的元素可以通过调用show()方法来重新显示。示例代码:$("#elementId").hide();//隐藏元素$("#elementId").show();//显示......