我如何用 jQuery 制作节拍器

发布于 2024-10-17 10:22:05 字数 154 浏览 6 评论 0原文

这不必伴随着咔嗒声。 我需要一些东西来可视化特定的节奏/节拍器

如何使声音或图像以特定的节奏出现? 因此,也许可以使用 fadetoggle() 但然后使用您可以的节奏 在输入字段中进行调整。

有什么想法吗?

This doesn't have to be with a clicking sound.
I need something to visualize a certain tempo/ metronome

How can I make a sound or image appear on a certain tempo?
So maybe with fade or toggle() but then with a tempo which you can
adjust in an input field.

Any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

情泪▽动烟 2024-10-24 10:22:05
function metronomeTick() {
   $("#metronome").toggle();
   setTimeout("metronomeTick()", 1000*60/$("#bpm").val());
}

metronomeTick();

JavaScript setInterval() 方法通常不被鼓励,因为它没有记住函数的“执行时间”(例如,实际可视化刻度需要多长时间)。再想一想,在这种情况下 setInterval 会更好,因为它对时间要求严格。

使用 setInterval() 时,代码将类似于:

var intervalReference = setInterval("metronomeTick()", 1000*60/$("#bpm").val());

function metronomeTick() {
  // Do tick visualisation here, but make sure it takes only a reasonable amount of time
  // Less than 1000*60/bpm, that is
}

$("#bpm").change(function() {
  clearInterval(intervalReference);
  intervalReference = setInterval("metronomeTick()", 1000*60/$(this).val());
});
function metronomeTick() {
   $("#metronome").toggle();
   setTimeout("metronomeTick()", 1000*60/$("#bpm").val());
}

metronomeTick();

The JavaScript setInterval() method is generally discouraged as it doesn't keep the function "execution time" (how long it takes to, for instance, actually visualize the tick) in mind. On second thought, setInterval would be even better in this case, since it's time-critical.

With setInterval(), the code would look something like:

var intervalReference = setInterval("metronomeTick()", 1000*60/$("#bpm").val());

function metronomeTick() {
  // Do tick visualisation here, but make sure it takes only a reasonable amount of time
  // Less than 1000*60/bpm, that is
}

$("#bpm").change(function() {
  clearInterval(intervalReference);
  intervalReference = setInterval("metronomeTick()", 1000*60/$(this).val());
});
风尘浪孓 2024-10-24 10:22:05

我想您应该查看一些动画扩展和缓动参数。
你可以从这里开始 http://api.jquery.com/animate/
也许您可以从此示例中获取一些代码: http://www.irengba.com/codewell/循环.html

I guess you should look at some animation extensions and parameters for easing.
you can start here http://api.jquery.com/animate/
and maybe you can grab some code from this example: http://www.irengba.com/codewell/loop.html

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文