首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JQuery Mouseup on iOS

JQuery Mouseup on iOS
EN

Stack Overflow用户
提问于 2014-11-16 12:48:00
回答 1查看 738关注 0票数 1

我最近在我的游戏中添加了jquery.mouse2touch.min.js插件,在测试之后我遇到了一个问题。我的移动系统是由两个div组成的(一个向左移动,一个向右移动),基本上当你按住div时,玩家应该朝一个方向移动,当你放手时,他应该停下来。问题是,如果我按住太久,然后放手,球员就不会停下来。

下面是让他移动的代码:

代码语言:javascript
复制
// iControl System
var $div = $('#character');

$('#ios-left').mousedown(function(){
   leftTimer = setInterval(function(){
       processWalk('left');
   },100);
}).mouseup(function(){
    $('#character').stop();
    clearInterval(leftTimer);
}).mouse2touch();

$('#ios-right').mousedown(function(){
    rightTimer = setInterval(function(){
       processWalk('right');
    },100);
}).mouseup(function(){
    $('#character').stop();
    clearInterval(rightTimer);
}).mouse2touch();

还有小提琴:http://jsfiddle.net/gqfesrhw/

谢谢(如果有人认为这可能是mouse2touch插件的问题,我愿意听取其他建议)

EN

回答 1

Stack Overflow用户

发布于 2014-11-25 01:44:39

工频

在计时器的问题上,你应该在移动前清除时间间隔.带有TimerWalk的全局变量clearInterval(TimerWalk);应该是有用的。

这里是代码块

代码语言:javascript
复制
$('#ios-left').mousedown(function () {
    clearInterval(TimerWalk);
    TimerWalk = setInterval(function () {
        processWalk('left');
    }, 100);
}).mouseup(function () {
    $div.stop();
    clearInterval(TimerWalk);
}).mouse2touch();

$('#ios-right').mousedown(function () {
    clearInterval(TimerWalk);
    TimerWalk = setInterval(function () {
        processWalk('right');
    }, 100);
}).mouseup(function () {
    $div.stop();
    clearInterval(TimerWalk);
}).mouse2touch();

这只是为了适当的移动,你可能需要解决其他问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26957080

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档