bazzo Skrevet 22. juni 2011 Del Skrevet 22. juni 2011 Hei! Jeg skal bytte mellom 2 urler når noen klikker på en link med javascript. Vil egentlig bare veksle mellom disse: <a href="javascript:document.getElementById('enID').play();">xxx</a> <a href="javascript:document.getElementById('enID').pause();">xxx</a> Noen som kan hjelpe meg litt her ? Lenke til kommentar
lassejl Skrevet 23. juni 2011 Del Skrevet 23. juni 2011 (endret) Løst med jQuery: $('a').click(function(e) { e.preventDefault(); var url1 = 'javascriptblablabla'; var url2 = 'javascriptblabla2'; var href = $(this).attr('href'); if (href = url1) { $(this).attr('href') = url2; } else { $(this).attr('href') = url1; } }); Endret 23. juni 2011 av lassejl Lenke til kommentar
cbastus Skrevet 26. juni 2011 Del Skrevet 26. juni 2011 Jeg skal bytte mellom 2 urler når noen klikker på en link med javascript. Vil egentlig bare veksle mellom disse: <a href="javascript:document.getElementById('enID').play();">xxx</a> <a href="javascript:document.getElementById('enID').pause();">xxx</a> Er det en spesiell grunn til at du velger å endre et javascript i lenkens href med et annet javascrip, fremfor å ha en funksjon knyttet til lenkens onclick som gjør det du ønsker? Og, siden du har endret "enID" til et objekt du kan fyre .play() og .pause() direkte av, hvorfor henger du ikke ønsket funksjonalitet på denne prototypingen? Løst med jQuery: $('a').click(function(e) { e.preventDefault(); var url1 = 'javascriptblablabla'; var url2 = 'javascriptblabla2'; var href = $(this).attr('href'); if (href = url1) { $(this).attr('href') = url2; } else { $(this).attr('href') = url1; } }); Å sette .preventDefault() så bytte href til et javascript som skal kjøres vil ikke fungere (iom at du stopper lenkens href i å fyre), tenk litt på det. Forøvrig synes jeg man skal vurdere hvor vidt det er trang til å bruke JQuery til å løse noe relativt enkelt. Hva rettferdiggjør de ekstra kb med kode og, mer viktig, et ekstra HTTP-request? JQuery er fint og flott, men det er ikke alltid optimalt. Et alternativ kunne vært noe slikt: <html> <head> <script> var playerControl = function(element) { var movieContainer = element; var movieIsPlaying = false; this.togglePlayPause = function() { if(movieIsPlaying) { movieContainer.pause(); movieIsPlaying = false; } else { movieContainer.play(); movieIsPlaying = true; } return false; } } var myPlayerControl = new playerControl(document.getElementById('enID')); </script> </head> <body> <a href="#" onclick="myPlayerControl.togglePlayPause();">clicky</a> </body> </html> Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå