使用touch-punch.js实现移动端的拖放效果

一、下载文件并引入

下载地址:http://touchpunch.furf.com/

引入:

<script src="js/jquery-ui.min.js"></script>

<script src="js/jquery.ui.touch-punch.min.js"></script>

这里可以查看参数http://www.cnblogs.com/ganqiyin/archive/2013/12/12/3471622.html

二、使用

html部分:

<div class="big_img" id="big_img">

<div class="big_img">

<img src="images/zz1_0.png" class="big_img_name" id="big_name">

<img src="images/game_list_0.png" id="big1" width="362" height="350">

<img src="images/start1.png" id="big2" width="217" height="210">

</div>

</div>

<div class="game_list">

<div class="game_list_top">

<div>

<img src="images/game_list_1.png"  class="list_big" >

<img src="images/game_list_name1.png" class="game_list_name">

</div>

<div style="margin-left:145px;">

<img src="images/game_list_2.png"   class="list_big">

<img src="images/game_list_name2.png"  class="game_list_name">

</div>

<div style="margin-left:290px;">

<img src="images/game_list_3.png"   class="list_big">

<img src="images/game_list_name3.png"  class="game_list_name">

</div>

<div style="margin-left:435px;">

<img src="images/game_list_4.png"   class="list_big">

<img src="images/game_list_name4.png"  class="game_list_name">

</div>

</div>

<div class="game_list_bottom">

<div>

<img src="images/game_list_5.png"  class="list_small">

<img src="images/game_list_name5.png" class="game_list_name">

</div>

<div style="margin-left:145px;">

<img src="images/game_list_6.png" class="list_small">

<img src="images/game_list_name6.png"  class="game_list_name">

</div>

<div style="margin-left:290px;">

<img src="images/game_list_7.png" class="list_small">

<img src="images/game_list_name7.png"  class="game_list_name">

</div>

<div style="margin-left:435px;">

<img src="images/game_list_8.png" class="list_small">

<img src="images/game_list_name8.png"  class="game_list_name">

</div>

</div>

</div>

js部分:

<script type="text/javascript">

var big_pic = null;

var small_pic = null;

var zongzi = null;  //粽子是否被拖放过

var zongzirong = null;//粽子肉是否被拖放过

var bag_index = false;

var a;

var b;

$(‘.list_big‘).draggable({

opacity:0.5,

revert:true,

start:function(){

a = 1;

b = 0;

if(!bag_index){

}else{//包过之后再拖放

$("#big_name").attr("src","images/zz1_0.png");

$("#big1").attr("src","images/game_list_0.png");

$("#big2").attr("src","images/start1.png");

small_pic = "images/start1.png";

big_pic = "images/game_list_0.png";

bag_index = false;

}

big_pic = $(this).attr("src");

}

});

$(".big_img").droppable({

drop:function(){

if( a == 1){

if(!bag_index){

zongzi = 1;

}else{

zongzi = 0;

}

$("#big1").attr("src",big_pic);

bag();

}

}

});

$(‘.list_small‘).draggable({

opacity:0.5,

revert:true,

start:function(){

a = 0;

b = 1;

if(!bag_index){

}else{//包过之后再拖放

$("#big_name").attr("src","images/zz1_0.png");

$("#big1").attr("src","images/game_list_0.png");

$("#big2").attr("src","images/start1.png");

small_pic = "images/start1.png";

big_pic = "images/game_list_0.png";

bag_index = false;

}

small_pic = $(this).attr("src");

}

});

$("#big_img").droppable({

drop:function(){

if(b ==1){

if(!bag_index){

zongzirong = 1;

}else{

zongzirong = 0;

}

$("#big2").attr("src",small_pic);

bag();

}

}

});

//判断之后包粽子

function bag(){

if((!!zongzi)&&(!!zongzirong)){ //当粽子和粽子肉都存在

setTimeout(function(){

$("#big1").attr("src","img/"+big_pic);

$("#big2").attr("src","images/start1.png");

$("#big_name").attr("src","img/"+small_pic);

zongzi = 0;  //粽子是否被拖放过

zongzirong = 0;//粽子肉是否被拖放过

bag_index = true;

}, 1000);

}

}

</script>

效果:

微信包粽子游戏

时间: 2024-11-05 02:28:51

使用touch-punch.js实现移动端的拖放效果的相关文章

hammer.js实现移动端的拖放效果

hammer.js可以实现移动端的多种触摸效果.详细可以点击http://www.cnblogs.com/iamlilinfeng/p/4239957.html 不过发现hammer.js实现功能时,只能是原生js,jquery代码在hammer中不起效果. 一.引入hammer.js 下载http://hammerjs.github.io/ <script type="text/javascript" src="js/hammer.min.js">&l

js 处理移动端触摸事件

在处理移动端的touch事件时,我们可以选择一些插件来处理,比如jquery ui touch punch.js 提供丰富的触摸效果,可以满足移动端的开发, 但是,有些移动端开发中,并不需要如此复杂的效果,例如我们只需知道滑动的距离,向左还是向右,我们可以自己写一些代码来处理touch事件: 以下代码,只在触摸情况下支持,电脑需要chrome模拟手机: 可以改造成自己需要的效果: <!doctype html> <html> <head> <meta charse

Touch Punch在移动设备上面增加jQuery UI的触摸支持|Jquery UI 支持移动端 触摸滑动等

jQuery UI是我们前台开发常用的UI前端类库,但是目前的jQuery UI用户界面类库在互动和widget上并不支持touch事件.这意味着你在桌面上设计的优雅的UI可能在触摸设备,例如,ipad,iphone和 Android上并不能正常工作.因为jQuery UI监听的是mouseover,mousemove和mouseout事件,不是触摸事件,touchstart,touchmove和 touched. 为了解决这个问题,这里我们介绍jQuery UI Touch Punch类库,它

原生 JS 实现移动端 Touch 滑动反弹

什么是 Touch滑动?就是类似于 PC端的滚动事件,但是在移动端是没有滚动事件的,所以就要用到 Touch事件结合 js去实现,效果如下: 1. 准备工作 什么是移动端的 Touch事件?在移动端 Touch事件可以细分成三种,分别是: touchstart.touchmove和 touchend,并且 touch事件必须要用 addEventListener去监听. touchStart当手指触碰到屏幕的时候触发 touchmove当手指在屏幕上不断移动的时候触发 touchend当手指离开

js实现移动端图片预览:手势缩放, 手势拖动,双击放大...

.katex { display: block; text-align: center; white-space: nowrap; } .katex-display > .katex > .katex-html { display: block; } .katex-display > .katex > .katex-html > .tag { position: absolute; right: 0px; } .katex { font-style: normal; font

Phonegap 之 iOS银联在线支付(js调用ios端银联支付控件)

Phonegap项目,做支付的时候,当把网站打包到ios或android端成app后,在app上通过wap调用银联在线存在一个问题: 就是当从银联支付成功后,再从服务器返回到app客户端就很难实现. wap银联支付流程是这样:客户端---> 服务器(构建支付请求)--> 银联支付 ---> 返回到服务端(处理支付结果).所以对于手机网站银联支付没有问题,但是对于ios端app和android端app, 再通过wap支付,发现支付成功后,很难在回到app客户端了. 所以这里就必须借助Pho

JS检测移动端横竖屏的代码

这篇文章主要介绍了JS检测移动端横竖屏的代码,需要的朋友可以参考一下 使用media来判断屏幕宽度遇到的问题: ios上当我旋转屏幕的时候可行,但是安卓机上没反应,横屏显示的还是我竖屏的样式. 查了一下资料,css3的media如果要在移动端有较好的显示效果,需要在页头加上这段代码 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-s

js判断移动端是否安装某款app的多种方法

第一种方法: 一:判断是那种设备 var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > -1; //android终端或者uc浏览器 var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端 二:安卓设备:原理:判断是否认识这个协议,认识则直接跳转,不认识就在这里下载app android(); if(isAndroid){ function an

JS实现移动端下拉刷新更多分页请求功能方法2.0

本次2.0升级版为js实现移动端加载更多下拉刷新更多分页请求功能方法(数据一次请求,前端分页,适用于数据流量较少,数据量压力小的页面)同时新增loading组件,turnToTop组件. 本文原创非转载,如需转载请注明出处:http://www.cnblogs.com/A-QBlog/p/7068959.html 废话不多说,直接上代码: 1 ;(function (w, $) { 2 3 var loadmore = { 4 /*单页加载更多 通用方法 5 * 6 * @param callb