1、简单的css

body {background-color: #eee;}
.box {transition: all .05s linear;width: 5rem;height: 5rem;cursor: move; position: absolute; top: 0; left: 0; background-color: #FFF; border: 1px solid #CCCCCC; -webkit-box-shadow: 10px 10px 25px #ccc;-moz-box-shadow: 10px 10px 25px #ccc;box-shadow: 10px 10px 25px #ccc;}

2、接着js(注意写了如果出界就返回的方法,不需要就删掉)

$(function() {
var pageY,pageX;
$(document).on("touchmove",function(e){
if (!!this.move) {
var posix = !document.move_target ? {'x': 0, 'y': 0} : document.move_target.posix,
callback = document.call_down || function() {
$(this.move_target).css({
'top': e.touches[0].pageY - posix.y,
'left': e.touches[0].pageX - posix.x
});
pageY=e.touches[0].pageY;
pageX=e.touches[0].pageX;
}; callback.call(this, e, posix);
}
}).on("touchend",function(e){
if (!!this.move) {
var callback = document.call_up || function(){
var posix = !document.move_target ? {'x': 0, 'y': 0} : document.move_target.posix;
if(posix.y+ pageY>=window.innerHeight){
$(this.move_target).css({
'top': window.innerHeight-$(".box").height()
});
}else if(parseFloat($(".box").css("top"))<0){
$(this.move_target).css({
'top': 0
});
}
if(posix.x+ pageX>=window.innerWidth){
$(this.move_target).css({
'left': window.innerWidth-$(".box").width()
});
}else if(parseFloat($(".box").css("left"))<0){
$(this.move_target).css({
'left': 0
});
}
};
callback.call(this, e);
$.extend(this, {
'move': false,
'move_target': null,
'call_down': false,
'call_up': false
});
}
}); var $box = $('.box').on("touchstart",function(e){
var $p = $(this);
var $pp = $p[0];
var offset = $p.offset();
$pp.posix = {'x': e.touches[0].pageX - offset.left, 'y': e.touches[0].pageY - offset.top};
$.extend(document, {'move': true, 'move_target':$pp });
});

  

手机端拖动div的更多相关文章

  1. touchmover 手机端拖动方法

    function drag(obj, parentNode) { var obj = document.getElementById(obj); if (arguments.length == 1) ...

  2. Teamviewer 手机端怎么拖动窗口,选中文字

    Teamviewer 手机端怎么拖动窗口,选中文字 Teamviewer 手机端拖动窗口,选中文字和触摸板的使用方式是一样的 点两下不松开就可以拖动 点两下不松开也可以选中文字 Teamviewer ...

  3. htm5手机端实现拖动图片

    htm5手机端实现拖动图片 <pre> <!doctype html><html><head> <title>Mobile Cookbook ...

  4. js实现可拖动Div

    随着时代的变化,越来越感觉到js的重要性,js不仅可以做web页面(如Ext框架),还可以做一些web的特效,这些特效不仅兼容PC,而且兼容手机端,毕竟是基于浏览器的,和平台没关系.现在微软的wind ...

  5. echart 时间轴、以及y轴值过大但是变化不大显示感觉不出变化的问题+弹出框拖动div事件

    1.时间轴 echart 提供了一种图表,如果x轴是一个时间范围,并且是连续的,如果用传统的数据驱动会很慢,所以用时间轴的方式 function initCurve(_data){ var resul ...

  6. h5手机端下拉选择城市

    <!doctype html><html>    <head>            <meta http-equiv="Content-Type& ...

  7. 手机端页面rem自适应脚本

    什么是rem 参照 web app变革之rem 在我看来,rem就是1rem单位就等于html节点fontsize的像素值.所以改变html节点的fontsize是最为关键的一步.根据手机宽度改变相对 ...

  8. 适应手机端的jQuery图片滑块动画DEMO演示

    在线预览 下载地址 实例代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "htt ...

  9. jQuery手机端触摸卡片切换效果

    效果:http://hovertree.com/code/run/jquery/a1gr3gm9.html 可以用手机查看效果. 代码如下: <!doctype html> <htm ...

随机推荐

  1. python中的scapy模块

    scapy模块是干嘛用的? 答:Scapy的是一个强大的交互式数据包处理程序(使用python编写).它能够伪造或者解码大量的网络协议数据包,能够发送.捕捉.匹配请求和回复包等等.它可以很容易地处理一 ...

  2. linux下命令源码

    一般来说,不同的命令可能隶属于不同的软件包,这样就没有一个地方会有所有命令的源代码.(命令的个数也会与你所安装的软件包有关)但是,一些常用的命令,例如basename cat chgrp chmod ...

  3. React 踩坑记录

    1.React-router error: super expression must either be null or a function 原因:引入babel后写ES6风格的代码: class ...

  4. 【反演复习计划】【bzoj3994】DZY loves maths

    这题大概就是提取一下d,然后就跟前面的题目差不多了. #include<bits/stdc++.h> #define N 10000005 using namespace std; typ ...

  5. HTML5-坦克大战一完成坦克上下左右移动的功能(一)

    坦克大战一完成坦克上下左右移动的功能 <!DOCTYPE html> <html> <head> <meta charset="utf-8" ...

  6. 《Java编程思想》笔记 第八章 多态

    1.向上转型 把子类引用当作父类引用.(子类对象赋值给父类引用) 2.绑定 确定方法属于哪个类. 3.前期绑定 程序执行前绑定. 4.后期绑定也叫动态绑定 程序运行时绑定. 5.多态 多个不同的对象对 ...

  7. redis SCAN cursor

    https://redis.io/commands/scan 可以看到: sscan的返回结果,有两部分, 第一部分  是一个数字.其实代表一个游标. 第二部分  是结果. scan是以游标为基础,每 ...

  8. seneca的一段代码(原创)

    var seneca=require('seneca')() seneca.add({cmd:'wordcount'},function(msg,respond){ var length=0; if( ...

  9. CentOS7下,安装网卡驱动,命令行手动连接WIFI指导

    买了一个无线网卡,型号为TL-WN823N,谁知道在CentOS下没有驱动 于是开始了无线上网的漫漫征途 经历了无数个坑啊,解决了一个又一个的问题啊 到最后ping通的时候成就感简直爆棚 文章结构简介 ...

  10. (六)MySQL数据操作DML

    (1)insert:插入数据 顺序插入数据 insert into 表名 values(值1,值2,值3); 指定字段插入数据 insert into 表名(字段1,字段2,字段3) values(值 ...