脚本效果出现过一次
scriptaculous effect occur once
我有一个按钮可以使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/
相关文章:
- 更改路由后,运行一次js脚本
- 只运行一次提取的脚本
- 在谷歌应用程序脚本中,如何在满足条件的情况下只发送一次电子邮件
- 是否有脚本/代码可以一次将链接属性添加到多个链接
- Ajax发布到PHP脚本,每5秒查询一次MySQL数据库的性能/问题
- 为什么这个脚本只工作一次?只替换元素一次,然后再也不替换
- 控制不止一次跳水的风格's风格使用java脚本动态,使用类
- 始终在chrome/ffirefox中工作的脚本在IE中只能工作一次
- 显示弹出脚本,使其在每个浏览器会话中只弹出一次
- 每 1 分钟在 chrome 中运行一次脚本
- Chrome 扩展程序,每分钟刷新一次页面,并在每次刷新时运行 (javascript) 脚本
- 如何使我的Chrome扩展只注入一次脚本
- Javascript每300秒运行一次脚本
- 每3小时在服务器上运行一次脚本
- 每个浏览器会话运行一次脚本,但在结束时冻结脚本
- 如何在Chrome扩展中每天只运行一次脚本
- 执行javascript,然后每60秒刷新一次脚本
- 油脂猴子每天运行一次脚本
- Javascript-在只运行一次脚本之前等待一段时间
- 如何阻止jquery为每个类成员运行一次脚本?