2013-03-16 14 views
5

Questo è il mio primo post sul forum. Sto installando un sito web di corsi di lingua inglese/tailandese che conterrà molti file audio di parlato inglese e tailandese. Ho eseguito una singola pagina di prova del concetto usando una funzione javascript mouseover/button http://www.javascriptkit.com/script/script2/soundlink.shtml Con alcune mod e alcuni j inline, questo ha funzionato correttamente.Spostamento audio javascript in jquery

$(document).ready(function() { 
    var html5_audiotypes = { 
    "mp3": "audio/mpeg", 
    "ogg": "audio/ogg", 
    };  
function createsoundbite(sound) { 
    "use strict"; 
    var html5audio = document.createElement('audio'); 
    if (html5audio.canPlayType){ 
    for(var i=0; i<arguments.length; i++) { 
    var sourceEl = document.createElement('source'); 
    sourceEl.setAttribute('src', arguments[i]); 
    if (arguments[i].match(/\.(\w+)$/i)) 
    sourceEl.setAttribute('type', html5_audiotypes[RegExp.$1]); 
    html5audio.appendChild(sourceEl); 
    } 
    html5audio.load(); 
    html5audio.playclip = function() { 
    html5audio.pause(); 
    html5audio.currentTime=0; 
    html5audio.play(); 
    } 
    return html5audio; 
    } 
    else{ 
    return {playclip:function(){throw new Error("Your browser doesn't support  HTML5 audio unfortunately")}}; 
    } 
    } 
    var cn402=createsoundbite("audio/cn402.ogg", "audio/cn402.mp3"); 
    var ry402=createsoundbite("audio/ry402.ogg", "audio/ry402.mp3");  
    var cn403=createsoundbite("audio/cn403.ogg", "audio/cn403.mp3");  
    var ry403=createsoundbite("audio/ry403.ogg", "audio/ry403.mp3");  
    var cn404=createsoundbite("audio/cn404.ogg", "audio/cn404.mp3");  
    var ry404=createsoundbite("audio/ry404.ogg", "audio/ry404.mp3");  
}); 

Il codice javascript è chiamato da una riga di codice HTML in questo modo:

<a href="#current" class= "rollover" onclick="ry402.playclip()"></a>Please don't swim by yourself</span> 

Voglio integrare questa funzione e le sue variabili associate in jQuery. in modo che tutto il codice js venga rimosso dall'html. Il primo passo, il solo far funzionare il codice jquery è stato per me un po 'problematico. Ho provato a includere solo il codice audio js in una funzione pronta per il documento. come mostrato sopra ma questo non funziona. Qualsiasi aiuto sarebbe molto apprezzato.

+0

Guardate qui http : //stackoverflow.com/questions/6830445/extending-jquery – Bart

risposta

3

io non sono sicuro se ti prendo a destra, ma è possibile rimuovere il codice javascript dal link dato molto facilmente:

$('.rollover').click(function(){ 

ry402.playclip(); 

}); 

Diamo un'occhiata a: http://api.jquery.com/click/

+0

MeierI metto questo codice in jq_click.js e lo posiziona così: RoyS

+0

questo non funziona, ho inserito il codice in $ (document) .ready (function() {} e posizionato nella sezione head sotto lo script che carica jquery. Scusa per il doppio post, non ho familiarità con i forum di Stack Overflow – RoyS

Problemi correlati