Как я могу сделать метроном с JQuery - PullRequest
2 голосов
/ 16 февраля 2011

Это не должно быть при щелчке.Мне нужно что-то, чтобы визуализировать определенный темп / метроном

, как я могу заставить звук или изображение появляться в определенном темпе?Так что, возможно, с помощью fade или toggle (), но затем с темпом, который вы можете настроить в поле ввода.

Есть идеи?

Ответы [ 2 ]

3 голосов
/ 16 февраля 2011
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());
});
1 голос
/ 16 февраля 2011

Полагаю, вам следует взглянуть на некоторые расширения анимации и параметры для упрощения. Вы можете начать здесь http://api.jquery.com/animate/ и, возможно, вы можете получить код из этого примера: http://www.irengba.com/codewell/loop.html

...