支持手机和电脑拖拽代码 【简单版jquery】

2024-08-25 11:58

本文主要是介绍支持手机和电脑拖拽代码 【简单版jquery】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

HTML部分

  <div class="container">
    
  </div>

css部分

@charset "gb2312";
/* CSS Document */
* {
margin: 0;
padding: 0;
}
body {
font-family: "微软雅黑";
background: url(../img/5-13050GTF9.png) repeat;

}
.container{ width:200px; height:200px; border:1px solid #000; position:absolute; top:0; left:0;}

js 部分

// JavaScript Document

$(document).ready(function(e) {
   var con=$('.container');
   var MaxLeft=$(document).width()-con.outerWidth(true);
   var MaxTop=$(document).height()-con.outerHeight(true);
   
   //在电脑上移动的代码
   con.mousedown(function(e){
  var x1=e.pageX- parseInt(con.offset().left);
  var y1=e.pageY- parseInt(con.offset().top);
  $(document).mousemove(function(e){
    var x=e.pageX;
    var y=e.pageY;
xMove=x-x1;
yMove=y-y1;
var MoveLeft=xMove;
var MoveTop=yMove;
if(xMove>=MaxLeft){
MoveLeft=MaxLeft;
}
 
if(xMove<=0){
   MoveLeft=0;
    }
 
if(yMove>=MaxTop){
MoveTop=MaxTop;
}
 
if(yMove<=0){
MoveTop=0;
}
         con.css({"top":MoveTop,"left":MoveLeft});
  }).mouseup(function(){
 $(this).unbind("mousemove"); 
  });
   });
   
   //在手机上移动的代码
   con.on("touchstart", function(e) {
   e.preventDefault();
        startX = e.originalEvent.changedTouches[0].pageX,
startY = e.originalEvent.changedTouches[0].pageY;
mx1=startX- parseInt(con.offset().left);
my1=startY- parseInt(con.offset().top);
   });
   
   con.on("touchmove", function(e) {
        e.preventDefault();
moveEndX = e.originalEvent.changedTouches[0].pageX,
moveEndY = e.originalEvent.changedTouches[0].pageY;
xMove=moveEndX-mx1;
yMove=moveEndY-my1;
var MoveLeft=xMove;
var MoveTop=yMove;

if(xMove>=MaxLeft){
MoveLeft=MaxLeft;
}
if(xMove<=0){
  MoveLeft=0;
}

if(yMove>=MaxTop){
MoveTop=MaxTop;
}
if(yMove<=0){
MoveTop=0;
}
con.css({"top":MoveTop,"left":MoveLeft});
   });
   
   
   
});

这篇关于支持手机和电脑拖拽代码 【简单版jquery】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1105491

相关文章

Vue3 的 shallowRef 和 shallowReactive:优化性能

大家对 Vue3 的 ref 和 reactive 都很熟悉,那么对 shallowRef 和 shallowReactive 是否了解呢? 在编程和数据结构中,“shallow”(浅层)通常指对数据结构的最外层进行操作,而不递归地处理其内部或嵌套的数据。这种处理方式关注的是数据结构的第一层属性或元素,而忽略更深层次的嵌套内容。 1. 浅层与深层的对比 1.1 浅层(Shallow) 定义

闲置电脑也能活出第二春?鲁大师AiNAS让你动动手指就能轻松部署

对于大多数人而言,在这个“数据爆炸”的时代或多或少都遇到过存储告急的情况,这使得“存储焦虑”不再是个别现象,而将会是随着软件的不断臃肿而越来越普遍的情况。从不少手机厂商都开始将存储上限提升至1TB可以见得,我们似乎正处在互联网信息飞速增长的阶段,对于存储的需求也将会不断扩大。对于苹果用户而言,这一问题愈发严峻,毕竟512GB和1TB版本的iPhone可不是人人都消费得起的,因此成熟的外置存储方案开

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

【 html+css 绚丽Loading 】000046 三才归元阵

前言:哈喽,大家好,今天给大家分享html+css 绚丽Loading!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏+关注哦 💕 目录 📚一、效果📚二、信息💡1.简介:💡2.外观描述:💡3.使用方式:💡4.战斗方式:💡5.提升:💡6.传说: 📚三、源代码,上代码,可以直接复制使用🎥效果🗂️目录✍️

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

csu 1446 Problem J Modified LCS (扩展欧几里得算法的简单应用)

这是一道扩展欧几里得算法的简单应用题,这题是在湖南多校训练赛中队友ac的一道题,在比赛之后请教了队友,然后自己把它a掉 这也是自己独自做扩展欧几里得算法的题目 题意:把题意转变下就变成了:求d1*x - d2*y = f2 - f1的解,很明显用exgcd来解 下面介绍一下exgcd的一些知识点:求ax + by = c的解 一、首先求ax + by = gcd(a,b)的解 这个

hdu2289(简单二分)

虽说是简单二分,但是我还是wa死了  题意:已知圆台的体积,求高度 首先要知道圆台体积怎么求:设上下底的半径分别为r1,r2,高为h,V = PI*(r1*r1+r1*r2+r2*r2)*h/3 然后以h进行二分 代码如下: #include<iostream>#include<algorithm>#include<cstring>#include<stack>#includ

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来

usaco 1.3 Prime Cryptarithm(简单哈希表暴搜剪枝)

思路: 1. 用一个 hash[ ] 数组存放输入的数字,令 hash[ tmp ]=1 。 2. 一个自定义函数 check( ) ,检查各位是否为输入的数字。 3. 暴搜。第一行数从 100到999,第二行数从 10到99。 4. 剪枝。 代码: /*ID: who jayLANG: C++TASK: crypt1*/#include<stdio.h>bool h

poj 1258 Agri-Net(最小生成树模板代码)

感觉用这题来当模板更适合。 题意就是给你邻接矩阵求最小生成树啦。~ prim代码:效率很高。172k...0ms。 #include<stdio.h>#include<algorithm>using namespace std;const int MaxN = 101;const int INF = 0x3f3f3f3f;int g[MaxN][MaxN];int n