2015-06-02 14 views
5

Sto facendo un sito Web con il plug-in skrollr e ho quasi finito con le immagini e lo scorrimento stesso, quindi sto cercando di aggiungere l'audio ora, ma non riesco a rendere l'audio iniziare e fermarsi quando lo voglio. Questo è lo script Attualmente sto lavorando con:Audio su scroll

<script> 

$(window).scroll(function() { 
    var height = $(document).height() - $(window).height(); 
var scroll = $(window).scrollTop(); 
     var audioElm = $('#soundTour').get(0); 
    audioElm.play(); 
    audioElm.volume = 1 - $(window).scrollTop()/height; 
    console.log(audioElm.volume); 
}); 
</script> 

Questo rende il mio audio avvia non appena il sito viene caricato e fade out in tutto l'arco di tutto il sito, in modo che quando hai scorrere a fondo, è completamente silenzioso. Ho provato a fare scherzi con la variabile "height" nello script, ma senza successo. Il suono finisce sempre pesantemente abbassato, ma si sente ancora un po 'sottofondo in sottofondo. C'è un modo per farlo chiudere a un certo punto di scorrimento? Ad esempio, fai riprodurre l'audio a $ (window) .scrollTop() = 500 e fermati a $ (window) .scrollTop() = 3000?

+0

Vuoi per giocare tra i 500 ei 3000 o dissolvenza da 500 a 3000? – Vandervals

+0

Mi piacerebbe che iniziasse da 500 e si fermasse a 3000, senza sbiadire, basta avviarlo e fermarlo. –

risposta

2
var playing = false; 
var audioElm = $('#soundTour').get(0); 
$(window).scroll(function() { 
    var pageScroll = $(window).scrollTop(); 
    if(!playing && pageScroll > 500 && pageScroll < 3000){ 
    audioElm.play(); 
    playing = true; 
    }else if(pageScroll > 3000 || pageScroll < 500){ 
    audioElm.pause(); 
    playing = false; 
    } 
}); 

È necessario aggiungere alcune condizioni. (Io definisco le variabili all'esterno per le prestazioni, poiché lo scorrimento di jQuery ha prestazioni davvero pessime, che peggiora ancora sui telefoni).

Pen: http://codepen.io/vandervals/pen/KpWzVJ

+0

Grazie mille, ha funzionato come un fascino! –

+0

Il tuo benvenuto! Si prega di notare Ho modificato il codice per farlo fermare nella parte superiore della pagina – Vandervals

+0

Non funziona ora. puoi per favore aiutare? –