单击并按住按钮时移动div

时间:2014-08-18 21:39:35

标签: jquery mousedown mouseup

基本上,当我使用JQuery的.mousedown函数点击并按住按钮时,我希望我的播放器移动。问题是,玩家不会继续向左移动,他只移动一次。我希望他继续向左移动,直到我做鼠标。

这是我的代码:

$('#arrowRight').mousedown(function() {
      $('#player').animate({'left':'+=20px'});
});

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

试试这个:

var isDown = false;
$arrowRight = $("#arrowRight");
$arrowLeft = $("#arrowLeft");
$arrowRight.mousedown(function(){isDown = true;});
$arrowLeft.mousedown(function(){isDown = true;});
$(document).mouseup(function(){
    if(isDown){
        isDown = false;
    }
}); 

$arrowRight.mousedown(function() {movePlayer('+=20');});
$arrowLeft.mousedown(function() {movePlayer('-=20');});

function movePlayer(intMovement){
  $( "#player" ).animate({
        'left': intMovement +'px'
  }, 100, function() {
      if (isDown){
          movePlayer(intMovement);
      }
  });
}

<强> Check JSFiddle Demo

答案 1 :(得分:0)

查看此链接 http://remysharp.com/2006/12/15/jquery-mousehold-event/ 用于mousehold事件的插件。它适用于您的情况。 您也可以通过设置鼠标按下事件的时间间隔来编写自己的时间间隔,每0.1秒触发一次。我相信上面的插件也是如此,但是现成的。 HTH。