使用Leadmotion移动DIV
Moving DIV with Leapmotion
我正在尝试使用leapmotion JS API在网站上移动div。
我找到了一个教程,并对它进行了一些修改,因为它似乎不起作用。
这是我到目前为止所想到的,但是translation.x
在控制台日志中出现undefined
。有没有其他人搞砸了飞跃JS API?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf8">
<title></title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<script src="leap.js"></script>
</head>
<body>
<script>
var controller = new Leap.Controller({enableGestures: true});
var firstValidFrame = null;
controller.loop(function(frame) {
if (!firstValidFrame) firstValidFrame = frame;
var translation = frame.translation(firstValidFrame);
console.log("X:" + translation.x);
$('#box').css({marginLeft: translation.x});
});
</script>
<div id="box" style="width: 200px; border: 1px solid #666666; padding: 10px 10px 70px 10px; display: inline-block"></div>
</body>
</html>
两件事:1.Leap.js库恢复了曾经实现的Vector类。所以向量(再次)是数组而不是对象。这使得它成为translation[0]
而不是translation.x
。2.您必须检查帧的有效性。Leap Motion API中的对象可能无效,这意味着它们是完全形成的对象,但具有0/identity属性。这有助于避免大量未定义的对象,但也有一些问题。在存储帧之前,请尝试检查!firstValidFrame && frame.valid
。
var controller = new Leap.Controller({enableGestures: true});
var firstValidFrame = null;
controller.loop(function(frame) {
if (!firstValidFrame && frame.valid) firstValidFrame = frame;
var translation = frame.translation(firstValidFrame);
console.log("X:" + translation[0]);
$('#box').css({marginLeft: translation.x});
});
相关文章:
- 通过DRAGGABLE将一个DIV移动到另一个DIF下?(CSS,JQuery)
- 将插入符号位置移动到ContentEditable<DIV>
- 如何在剪切/粘贴/移动后在contentEditable DIV中保留与XML相关的数据
- 从移动视图中删除 Div
- 在不移动DOM的情况下最大化Div
- jQuery 悬停/单击事件位于同一 DIV(移动设备)上
- 使用 JavaScript 鼠标事件拖动 DIV 会快速移动
- 如何使“按钮”在鼠标按下时创建一个可移动的 DIV,并将“鼠标按下”切换到新的 DIV
- 通过拖动移动动态创建的 DIV
- 在 IE8 中将 DIV 从光标下方移动时,悬停样式保持不变
- jQuery:当 DIV 的子元素靠近其父元素的右边缘时,将 DIV 向左移动(自动滚动类型)
- jQuery Animate - 以固定速度将 DIV 移动到 X、Y 位置
- 如何在jquery(移动)中刷新DIV
- 使用单选按钮使 Div 在页面上随机移动
- 如何让 Div 使用单选按钮随机移动
- 位置:修复了在iPhone上打开“选择”元素时DIV移动的问题
- 将一些 JSON 数据移动到唯一的 Div 中
- 用JavaScript将DIV移动到BODY's限制内
- DIV悬停使另一个DIV移动
- HTML Div移动文本到下一行