脚本效果出现过一次

scriptaculous effect occur once

本文关键字:一次 脚本      更新时间:2023-09-26

我有一个按钮可以使div在页面上移动,但我希望该按钮只移动一次。如果用户现在一直单击按钮,则div会一直朝同一方向移动。

一个简单而通用的方法可能只是设置一个标志。

var box_can_move = true;
$('button_id').on('click', function(event, element){
    if(box_can_move){
        box_can_move = false;
        //move box;
    }
});

正如clockworkgeek的评论所暗示的,拥有标志的一大优势是能够直接操作和检查状态(盒子是否已经移动),而无需将其与事件处理逻辑耦合。

如果您能够使用jQuery,那么使用one()方法很简单:

$('yourButtonId').one('click', 
    function(event) 
    { 
        alert('This will only execute once.'); 
    });

试用

  $('button_id').on('click', function(event, element){
   new Effect.Move('div', {x: 300});
   element.stopObserving();
  });

示例http://jsfiddle.net/pJ9cf/