jquery设置图片可手动拖拽

news/2024/7/10 23:03:14 标签: jquery, 前端, javascript

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

$(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。

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

演示地址:

醉学网-让您提分更轻松! (nongpin88.com)icon-default.png?t=N7T8http://www.nongpin88.com/


http://www.niftyadmin.cn/n/5030042.html

相关文章

Linux 多线程( 进程VS线程 | 线程控制 )

文章目录 Linux进程 VS 线程进程的多个线程共享 进程和线程的关系线程创建 pthread_create获取线程ID pthread_self线程等待 pthread_join终止线程进程分离线程ID及进程地址空间布局 Linux进程 VS 线程 进程是资源分配的基本单位。线程是OS调度的基本单位。 线程共享进程数据…

与导师沟通2023-09-14

一、学习基本计划: 研一上:我将学习专业知识,提高自身的英语水平以及人文素养,同时做到阅读各领域书籍并努力专攻计算机方向,多阅读中外文杂志,参加各类讲座、会议,确定自己的研究兴趣;跟随导师研究课题(智慧教育),确定一个适合我自身的研究方向(NLP)。 (1)学习并实…

java创建excel文件和解析excel文件

创建excel文件 package com.bjpowernode.crm.poi;import org.apache.poi.hssf.usermodel.*; import org.apache.poi.ss.usermodel.HorizontalAlignment;import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.…

这些代码,差点把我气出内伤

先问大家一个小问题:你觉得看别人代码累,还是自己写代码累? 我相信有很多朋友会说,当然是自己写代码累了,要思考逻辑、要动手敲键盘,身心俱疲啊;但是,如果你需要经常阅读别人的代码…

【深度学习】Pytorch 系列教程(十三):PyTorch数据结构:5、数据加载器(DataLoader)

目录 一、前言 二、实验环境 三、PyTorch数据结构 0、分类 1、张量(Tensor) 2、张量操作(Tensor Operations) 3、变量(Variable) 4、数据集(Dataset) 5、数据加载器&#x…

数据库安全(Mysql,Hadoop,Redis)

MySQL Mysql 身份认证绕过漏洞(CVE-2012-2122) 当连接MariaDB/MySQL时,输入的密码会与期望的正确密码比较,由于不正确的处理,会导致即便是memcmp()返回一个非零值,也会使MySQL认为两个密码是相同的。也就…

基于FPGA点阵显示屏设计-毕设

本设计是一1616点阵LED电子显示屏的设计。整机以EP2C5T144C8N为主控芯片,介绍了以它为控制系统的LED点阵电子显示屏的动态设计和开发过程。通过该芯片控制一个行驱动器74HC154和两个列驱动器74HC595来驱动显示屏显示。该电子显示屏可以显示各种文字或单色图像,采用4块8 x 8点…

机器学习 day34(机器学习项目的完整周期、精确度和召回率、F1)

机器学习项目的完整周期 第一步,决定项目是什么。第二步,收集数据。第三步,训练模型,进行错误分析并改进模型,可能会回到第二步。第四步,当模型足够好后,部署在生产环境中,继续监控…