2014-06-04 3 views
0

Я пытаюсь объявить интерактивную или перетаскиваемую панель поиска для mp3-плеера soundmanager2. Кто-нибудь замечает, что я делаю неправильно? Благодаря!jQuery clickable look bar для mp3-плеера SoundManager2

whileplaying:function(){ 
duration = this.duration; 
pos = this.position; 
songPosition = (pos/duration)*100; 

$("#progressbar").progressbar("option", "value", songPosition); 

$("#progressbar").click(function(e) { 
var playingSound = soundManager.getSoundById(_.keys(soundManager.sounds)[0]), 
x    = e.pageX - $(this).offset().left, 
width   = $(this).width(), 
duration  = playingSound.durationEstimate; 
playingSound.setPosition((x/width) * duration); 
}); 

$("#progressbar").mouseover(function(){ 
$(this).css("cursor","pointer"); 
}); 

ответ

0

Переместить весь код из whileplaying: функция() {}, потому что каждый раз, когда вы звоните SetPosition, изменения положения песни, но вы не обновление «стоимость» ProgressBar в $ («#progressbar ") .click (function (e) {}); функция, а также функция воспроизведения снова и снова вызывается, которая устанавливает значение «значение» в songPosition (то же самое, что и раньше) при воспроизведении песни

Попробуйте обновить значение в $ ("#progressbar") .click (функция (e) {// значение обновления здесь также});

0

Как уже упоминалось, удалите события щелчка из функции воспроизведения. Фактически, вы действительно должны помещать что-нибудь (кроме, возможно, визуальных обновлений/временных меток).

Вы можете просто вызвать var s = soundManager.getSoundById ($ name), чтобы получить звуковой объект, и оттуда вы можете использовать s.setPosition();

я предлагаю что-то вдоль линий:

selectTime.click(function(e){ 
s = soundManager.getSoundById($name); 
var posX = selectTime.offset().left; 
var pos = Math.min(Math.max((e.pageX - posX)/selectTime.width() * 100, 0), s.duration); 
if(!isNaN(pos)) 
s.setPosition(Math.round(pos*s.duration/100)); 
}); 

Убедитесь, что вы используете флэш-плеер, его в настоящее время все еще лучший способ использовать функцию SetPosition.

 Смежные вопросы

  • Нет связанных вопросов^_^