支持手机和电脑拖拽代码 【简单版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

相关文章

利用Python调试串口的示例代码

《利用Python调试串口的示例代码》在嵌入式开发、物联网设备调试过程中,串口通信是最基础的调试手段本文将带你用Python+ttkbootstrap打造一款高颜值、多功能的串口调试助手,需要的可以了... 目录概述:为什么需要专业的串口调试工具项目架构设计1.1 技术栈选型1.2 关键类说明1.3 线程模

Python Transformers库(NLP处理库)案例代码讲解

《PythonTransformers库(NLP处理库)案例代码讲解》本文介绍transformers库的全面讲解,包含基础知识、高级用法、案例代码及学习路径,内容经过组织,适合不同阶段的学习者,对... 目录一、基础知识1. Transformers 库简介2. 安装与环境配置3. 快速上手示例二、核心模

Java的栈与队列实现代码解析

《Java的栈与队列实现代码解析》栈是常见的线性数据结构,栈的特点是以先进后出的形式,后进先出,先进后出,分为栈底和栈顶,栈应用于内存的分配,表达式求值,存储临时的数据和方法的调用等,本文给大家介绍J... 目录栈的概念(Stack)栈的实现代码队列(Queue)模拟实现队列(双链表实现)循环队列(循环数组

Android实现两台手机屏幕共享和远程控制功能

《Android实现两台手机屏幕共享和远程控制功能》在远程协助、在线教学、技术支持等多种场景下,实时获得另一部移动设备的屏幕画面,并对其进行操作,具有极高的应用价值,本项目旨在实现两台Android手... 目录一、项目概述二、相关知识2.1 MediaProjection API2.2 Socket 网络

HTML5中的Microdata与历史记录管理详解

《HTML5中的Microdata与历史记录管理详解》Microdata作为HTML5新增的一个特性,它允许开发者在HTML文档中添加更多的语义信息,以便于搜索引擎和浏览器更好地理解页面内容,本文将探... 目录html5中的Mijscrodata与历史记录管理背景简介html5中的Microdata使用M

html5的响应式布局的方法示例详解

《html5的响应式布局的方法示例详解》:本文主要介绍了HTML5中使用媒体查询和Flexbox进行响应式布局的方法,简要介绍了CSSGrid布局的基础知识和如何实现自动换行的网格布局,详细内容请阅读本文,希望能对你有所帮助... 一 使用媒体查询响应式布局        使用的参数@media这是常用的

HTML5表格语法格式详解

《HTML5表格语法格式详解》在HTML语法中,表格主要通过table、tr和td3个标签构成,本文通过实例代码讲解HTML5表格语法格式,感兴趣的朋友一起看看吧... 目录一、表格1.表格语法格式2.表格属性 3.例子二、不规则表格1.跨行2.跨列3.例子一、表格在html语法中,表格主要通过< tab

Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案

《Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案》:本文主要介绍Vue3组件中getCurrentInstance()获取App实例,但是返回nu... 目录vue3组件中getCurrentInstajavascriptnce()获取App实例,但是返回n

使用Java将DOCX文档解析为Markdown文档的代码实现

《使用Java将DOCX文档解析为Markdown文档的代码实现》在现代文档处理中,Markdown(MD)因其简洁的语法和良好的可读性,逐渐成为开发者、技术写作者和内容创作者的首选格式,然而,许多文... 目录引言1. 工具和库介绍2. 安装依赖库3. 使用Apache POI解析DOCX文档4. 将解析

C++使用printf语句实现进制转换的示例代码

《C++使用printf语句实现进制转换的示例代码》在C语言中,printf函数可以直接实现部分进制转换功能,通过格式说明符(formatspecifier)快速输出不同进制的数值,下面给大家分享C+... 目录一、printf 原生支持的进制转换1. 十进制、八进制、十六进制转换2. 显示进制前缀3. 指