- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
这是我目前所拥有的:
var vx = 3;
var vy = 2;
function hitLR(el, bounding) {
if (el.offsetLeft <= 0 && vx < 0) {
console.log('LEFT');
vx = -1 * vx;
}
if ((el.offsetLeft + el.offsetWidth) >= bounding.offsetWidth) {
console.log('RIGHT');
vx = -1 * vx;
}
if (el.offsetTop <= 0 && vy < 0) {
console.log('TOP');
vy = -1 * vy;
}
if ((el.offsetTop + el.offsetHeight) >= bounding.offsetHeight) {
console.log('BOTTOM');
vy = -1 * vy;
}
}
function mover(el, bounding) {
hitLR(el, bounding);
el.style.left = el.offsetLeft + vx + 'px';
el.style.top = el.offsetTop + vy + 'px';
setTimeout(function() {
mover(el, bounding);
}, 50);
}
setTimeout(function() {
mover($('.bouncer')[0], $('.bouncyHouse')[0]);
}, 50);
https://jsfiddle.net/86xyxvyn/
我正在尝试向该草图添加多个 div,以便每个 div 独立地围绕黑框弹跳。理想情况下,每个单词也有一个唯一的起始位置(不仅仅是在左上角)。
最佳答案
通过一些修改,您可以获得想要的结果。一种方法是使用 data
属性为每个 div
设置速度。然后将 mover
函数应用于每个 div,使用它们各自的速度和位置来设置新速度并测试弹跳。除了使用 setTimeout,您还可以使用 setInterval。像这样:
div class="bouncyHouse">
<!-- using data-vx and data-vy allows to set different speed for each div--!>
<div class="bouncer" data-vx='2' data-vy='-3'>
<span>space</span>
</div>
<div class="bouncer" data-vx='-2' data-vy='2'>
<span>space</span>
</div>
<div class="bouncer" data-vx='5' data-vy='2'>
<span>space</span>
</div>
</div>
js。这几乎与您所拥有的完全相同,只是我用每个特定的数据替换了每个 vx
和 vy
。对移动器的调用是在 each()
调用中进行的,该调用迭代每个 bouncing
div。
function hitLR(el, bounding) {
console.log($(el).data('vx'), $(el).data('vy'))
if (el.offsetLeft <= 0 && $(el).data('vx') < 0) {
console.log('LEFT');
$(el).data('vx', -1 * $(el).data('vx'))
}
if ((el.offsetLeft + el.offsetWidth) >= bounding.offsetWidth) {
console.log('RIGHT');
$(el).data('vx', -1 * $(el).data('vx'));
}
if (el.offsetTop <= 0 && $(el).data('vy') < 0) {
console.log('TOP');
$(el).data('vy', -1 * $(el).data('vy'));
}
if ((el.offsetTop + el.offsetHeight) >= bounding.offsetHeight) {
console.log('BOTTOM');
$(el).data('vy', -1 * $(el).data('vy'));
}
}
function mover(el, bounding) {
hitLR(el, bounding);
el.style.left = el.offsetLeft + $(el).data('vx') + 'px';
el.style.top = el.offsetTop + $(el).data('vy') + 'px';
}
setInterval(function() {
$('.bouncer').each(function(){
mover(this, $('.bouncyHouse')[0]);
});
}, 50);
并且可以直接在css中设置起点。
.bouncer {
position: absolute;
width: 200px;
color:white;
}
.bouncer:nth-child(2)
{
top: 30px;
left: 100px;
}
.bouncer:nth-child(3)
{
top: 50px;
left: 200px;
}
参见 fiddle :https://jsfiddle.net/qwLpf1vr/
关于javascript - 如何使用 Jquery 添加多个具有不同起点的弹跳 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30771383/
有没有办法让我的浏览器告诉我当我点击一个 div 时执行的第一个 JavaScript 是什么。 让我分解一下: 代码示例: Hi There jQuery('hello').bind('clic
我在一个二维网格迷宫中,你只能水平和垂直移动。边成本为 1,我使用曼哈顿距离来估计从节点到目标的距离。 我的问题是,如果您从当前节点开始寻找到达目标的路径,或者从目标节点开始并找到返回当前节点的路径,
我的 View 中有两个 SeekBar,我在布局中类似地声明了它们: 这是我使用它们的代码: SeekBar sb = (SeekBar) v.findViewByI
我想将 TDD 应用于我的 Java EE 应用程序。 要求是创建一家具有名称和联系方式的公司。系统的入口点是Rest和Web服务,取决于客户端。 我正在努力寻找编写单元测试的起点。 我应该从无状态的
我想知道如何改变popUpMenu的原点,在底部应用栏正上方启动弹出窗口,无论项目数如何。与屏幕右端对齐。类似的东西(例如) Positioned(right: 0, bottom: bottomAp
我已经阅读了大量文章,看过大量关于 TDD 的截屏视频,但我仍在努力在实际项目中使用它。我的主要问题是我不知道从哪里开始,第一个应该是什么测试。 假设我必须编写调用外部系统方法(例如通知)的客户端库。
我确实在这个网站上进行了一些谷歌搜索,但没有找到我想要的东西。 我希望有人能在这里为我指出正确的方向。我是一名 ASP.NET/SQL Server 开发人员,希望开发一个(最初)基本社交网站 (ga
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 5 年前。
google了一下,没有找到任何东西。 有什么好的资源可以帮助我开始为严重依赖 API key 的 RESTless Web 应用程序设计后端。 我知道如何编写不稳定的网络服务等,只是从未使用过 AP
这是我的代码的一部分 string line; ifstream file ("Names.txt"); int i; for (i = 0; i < line.length(); ++i) {
我已经尝试创建路线,但我不确定如何事先获取从起点到目的地的所有纬度和经度。在这里,当我在 map 中搜索从起点到终点的路线时,我选择了一条我选择的路线,我想获得从起点到终点的所有经纬度。我必须将这些数
我正在尝试让宇宙飞船绕行星运行。我目前正在做 let playerPos = player.position let planetPos = planet.position let radius =
Java 中有一个 forloop,我可以在其中判断从哪里开始和从哪里结束: for(int i=10;i{{ athlete.name }} {% endfor %} {{forloop.last=
我正在尝试探索 dot net 核心功能以更好地理解它,因为我执行了同样的操作 dotnet new dotnet build dotnet run 命令提示符窗口中的命令,它为我创建了一个项目并创建
我正在使用 HTML5 Canvas 和 JavaScript 开发一款游戏。这是一款简单的太空射击游戏,屏幕中央有一门大炮。我可以旋转大炮并以与大炮方向相同的 Angular 发射导弹。 但我有一个
我正在尝试通过在 JavaFX 应用程序中使用凹槽、脊线边框样式来获得 3d 外观。但它正在向我展示 Unsupported 'groove' while parsing '-fx-border-s
我正在尝试从 mapr fs origin 进行简单的数据移动到 mapr fs destination (这不是我的用例,只是为了测试目的做这个简单的 Action )。尝试 validate 时这
我是一名优秀的程序员,十分优秀!