Я сделал быстрый аудиоплеер с несколькими экземплярами. Когда вы нажимаете для воспроизведения, игра , играющая var, равна true. Если вы нажмете на другой экземпляр .playAudio, я пытаюсь установить для lastPlayed значение false.Как изменить переменную цели?
У меня есть часть, где я прокомментировал часть, которую я не могу понять.
Jquery:
var lastPlay
var lastSelected
$('.playAudio').each(function(){
var audio = $(this).find('audio').get(0);
var playing = false
$(this).hover(function() {
if (playing) {
$(this).css({backgroundPosition: '-60px -60px'})
} else {
$(this).css({backgroundPosition: '0px -60px'})
}
},function() {
if (playing) {
$(this).css({backgroundPosition: '-60px 0'})
} else {
$(this).css({backgroundPosition: ''})
}
});
$(this).click(function(){
if (playing) {
playing = false
$(this).css({backgroundPosition: '0 60px'})
audio.currentTime = 0
audio.pause()
} else {
if (lastPlay) {
//** I'm trying to change the lastSelected's "playing" to false
lastPlay.pause()
}
playing = true
$(this).css({backgroundPosition: '-60px -60px'})
audio.play()
lastPlay = audio
lastSelected = $(this)
}
})
})
(Ничего общего с вашей проблемой): JS не является PHP, переменные не должны начинаться с '$'. Его вид uggly;) –
Я полностью согласен ... Я только что изменил это, потому что я неправильно понял другое решение моей проблемы. Хах. ** fixed ** – Tom
@ldiqual: Правильно, но начало переменной с '$' часто используется, чтобы подчеркнуть, что эта переменная содержит объект jQuery, а не элемент DOM. Хотя на самом деле это не так, и поэтому еще более запутанно. –