2015-04-02 4 views
0

У меня есть фиксированное изображение на моей странице, и я хочу, чтобы он играл случайную звуковую дорожку при наведении курсора мыши. Это может быть 1 из 5 треков.Воспроизвестислучную дорожку при наведении указателя мыши

Это мой HTML <img src="images/Airplane.png" class="Airplane-photo">

Это мой CSS

.Airplane-photo { 
    position: fixed; 
    z-index: 1; 
    height: 200px; 
    bottom: 0px; 
    right: 0px; 
} 

Все мои треки MP3 и OGG. Я прочитал это руководство, но это не помогает мне в том, что мне нужно: https://css-tricks.com/play-sound-on-hover/

Кто-нибудь знает, возможно ли это?

Заранее спасибо

+2

где код для воспроизведения аудио? – Saksham

+0

Да, это возможно, но для этого вам нужен JavaScript. @Marius отвечает, это хорошо, на мой взгляд. – RikyTres

ответ

2

http://jsbin.com/fiyomafuce/2/edit

Вы сделать массив из ваших путей mp3/Ogg, как:

var audio = ["audio-1.mp3", "audio-2.mp3", "audio-3.mp3", "audio-4.mp3", "audio-5.mp3"]; 

Эта функция возвращает случайное число от 0 до 5, где 5 является audio.length поэтому нет необходимости обновлять, если у вас есть больше mp3

function getRandomAudio() { 
    var max = audio.length; 
    return Math.floor(Math.random() * (max + 1)); 
} 

Когда курсор находится над кнопкой, аудио-элемент изменит исходный код на новый элемент из массива аудио.

$btn.on('mouseover', function(){ 
    var index = getRandomAudio(); // random index 
    $audio.attr('src', audio[index]); // change src 
    $audio.get(0).play(); 
}); 

А также, если вы хотите, чтобы остановить звук, когда его вне кнопки вы можете просто вызвать функции MouseOut как этот

$btn.on('mouseout', function() { $audio.get(0).pause() }); 

PS. Конечно, вы ничего не услышите, потому что пути не реальны.

+0

Спасибо за то, что Мариус. Я попытался реализовать его, хотя он, похоже, не хочет работать У меня есть все мои звуковые файлы, хранящиеся в папке с именем sound. Это код var audio = ["sound/audio1.mp3", "sound/audio2.mp3", "sound/audio3.mp3", "sound/audio4.mp3", "sound/audio5.mp3" , "sound/audio6.mp3"]; var $ btn = $ ('button'); var $ audio = $ ('audio'); функция getRandomAudio() { var max = audio.length; return Math.floor (Math.random() * (max + 1)); } $ btn.on ('Mouseover', функция() { индекс вар = getRandomAudio(); $ audio.attr ('звук /', аудио [индекс]); $ audio.get (0) .play(); }); – StackUser2014

+0

Btw, добавляете ли вы: в свой HTML? – Marius

+0

Возможно добавить ID в аудио, например,