繁体   English   中英

在Android上使用PhoneGap和pep.jquery.js拖放

[英]Drag and drop with PhoneGap and pep.jquery.js on Android

我在PhoneGap应用程序中创建基于拖放的菜单时遇到问题。 我尝试了一些插件,例如jquery.mobiledraganddrop.js(http://www.stevefenton.co.uk/Content/Jquery-Mobile-Drag-And-Drop/)无法正常工作,并尝试自己编写此功能在jquery mobile中使用“ touch”事件(尽管动画并不流畅)。 没有一个结果足以满足我的事业。

最终,我找到了pep.jquery.js(http://pep.briangonzalez.org/)插件,该插件似乎很完美,但是发生了一些问题,我将在后面进行描述。

下面提供的代码背后的思想是,菜单项显示为标记,并均匀地放置在圆圈周围。 每当令牌落入圆圈中心时,都会选择菜单选项。 如果在触摸事件结束时令牌还没有足够靠近圆心,则会将其移回其原始位置。

问题是:在PC上拖动工作,但是没有Android手机上在所有的工作,当我停止拖动的令牌(我知道的事实marginLeft和marginTop被设置为0,并赢得不发生touchend事件不会导致令牌移动到原始位置-我将其留作调试用)。

$(document).ready(function(){
    var centerX = 240;
    var centerY = 440;
    var radius = 180;
    var internalRadius = 86;    
    var tokenNumber = $("#circle .token").length;

    reloadTokens(tokenNumber, radius, 0);

    $(".token").pep({
        cssEaseDuration: 0,
        activeClass: "activeToken"
    });

    $("#token").bind("touchend",function(){
        $(this).forceStop();
        $(this).animate({
            marginLeft: 0,
            marginTop: 0
        }, "fast", "easein");
    });

});

function reloadTokens(tokenNumber, radius, additionalOffset){

    var degreeOffset = 60;

    var i = 0;
    $(".token").each(function(){
        degree = (i * (360/tokenNumber) - degreeOffset + additionalOffset) % 360;
        var tokenX = radius * Math.cos(degree * (Math.PI / 180)) + radius;
        var tokenY = radius * Math.sin(degree * (Math.PI / 180)) + radius;
        $(this).css({
            marginLeft: tokenX,
            marginTop: tokenY
        });
        i++;
    });
}

此代码的任何帮助将不胜感激。 :)如果您给我另一个想法,除了我之前介绍的方法之外,如何使用phonegap处理拖放,我也将非常高兴。

iamovie,

我创建了Pep。 哪个Android设备以及该设备上的哪个浏览器? 给我更多信息,我将帮助调试。

如果您在此处提出问题我们可以跟踪该错误,并且我将确保在此处对此问题进行交叉引用,并且我们可以对此问题发布合理的答案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM