|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Nov 2000
Città: prov. Olbia-Tempio; Trattative concluse: ne ho perso da tempo il conto
Messaggi: 6860
|
[html/javascript] Problema con codice javascript
Sto testando un frammento di codice html/javascript che dovrebbe consentire la scelta del filmato (ogg o altro) da vedere in una finestra... ho messo insieme un po' di codice, ma non fa la cosa giusta perchè dopo il primo clic, ai successivi clic fa vedere sempre lo stesso filmato. Ecco il codice usato
<html> <head> <script type="text/javascript"> var video; function play_video(video_url) { video = document.getElementById('video');var source = document.createElement('source'); source.setAttribute('src', video_url); video.appendChild(source);video.load(); video.play(); return 0; } </script> </head> <body> <table><td><video id="video" poster="img_dam/dam070.jpg" controls style="position: absolute; top: 10px; left: 200px; width:350px; height:auto; border: 4px solid green; border-radius: 10px; box-shadow: 6px 6px 6px gray"/> </video> </td><td> <br> <ul> <li> <a href="javascript:void(0);" onclick="play_video('video/29Maggio2006.ogv')"> video Caprera </a> <li> <a href="javascript:void(0);" onclick="play_video('video/DaMariaGraziaPerDamiano.ogv')"> video Maria Grazia </a> </ul> </table> </body> </html> Non riesco a capire come fare per eliminar l'inconveniente |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Nov 2010
Città: Londra
Messaggi: 620
|
Ciao,
qualche consiglio: - metti sempre il codice all'interno del [ CODE ] cosi da esssere formattato Codice:
<html>
<head>
<script type="text/javascript">
var video;
function play_video(video_url)
{
video = document.getElementById('video');var source = document.createElement('source');
source.setAttribute('src', video_url);
video.appendChild(source);video.load();
video.play();
return 0;
}
</script>
</head>
<body>
<table><td><video id="video" poster="img_dam/dam070.jpg" controls style="position: absolute; top: 10px; left: 200px;
width:350px; height:auto; border: 4px solid green;
border-radius: 10px; box-shadow: 6px 6px 6px gray"/>
</video> </td><td>
<br>
<ul>
<li> <a href="javascript:void(0);" onclick="play_video('video/29Maggio2006.ogv')"> video Caprera </a>
<li> <a href="javascript:void(0);" onclick="play_video('video/DaMariaGraziaPerDamiano.ogv')"> video Maria Grazia </a>
</ul>
</table>
</body>
</html>
Qui c'e' la soluzione commentata usando jQuery che mi ha semplificato la vita https://jsfiddle.net/pvvsm4xe/ Come esercizio potresti provare a rifarla usando vanilla JS come stavi facendo Ciao |
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Nov 2000
Città: prov. Olbia-Tempio; Trattative concluse: ne ho perso da tempo il conto
Messaggi: 6860
|
Quote:
La parte di jQuery va in uno script da mettere nello head? il codice va utilizzato così com'è? Bisogna caricare qualche libreria jQuery? La parte di html in JSFiddle è monca... in ogni caso il codice con me non funziona, probabilmente perchè faccio cavolate nei miei arrangiamenti... poi come data-video-url va bene un percorso (path) sul pc? Non mi funziona neanche l'esempio su JSFiddle... |
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Nov 2010
Città: Londra
Messaggi: 620
|
Che browser usi? Jsfiddle su chrome mi funziona.
Jquery puoi caricarlo alla fine della tua pagina prima della chiusura del body e prima del tuo script. Il percorso non va bene a meno che non ci sia un web server che serve quella risorsa. Sent from my iPhone using Tapatalk |
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Nov 2000
Città: prov. Olbia-Tempio; Trattative concluse: ne ho perso da tempo il conto
Messaggi: 6860
|
Quote:
|
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Nov 2000
Città: prov. Olbia-Tempio; Trattative concluse: ne ho perso da tempo il conto
Messaggi: 6860
|
Altro problema
Codice:
<p><table>
<td><img src="images/marge_comment.png" id="mc" style="display:none"></td>
<td>
<img src=images/commenti.png usemap="#commenti">
<map name="commenti">
<area shape="rect" coords="0,0,68, 12"
href="javascript:void(0);" onclick="
if(document.getElementById('mc').style.display == none) document.getElementById('mc').style.display=yes;
else document.getElementById('mc').style.display=none">
</area></map>
</table></p><br>
Non funziona. Dove sbaglio? |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Nov 2010
Città: Londra
Messaggi: 620
|
non ti conviene usare onclick="" sull'element specialmente se hai un po di cose da fare.
metti tutto in uno script separato o infondo alla pagina e fatti aiutare da jQuery |
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Nov 2000
Città: prov. Olbia-Tempio; Trattative concluse: ne ho perso da tempo il conto
Messaggi: 6860
|
Quote:
mi potresti abbozzare una soluzione? i progressi da me fatti nella costruzione del sito a cui tutto questo lavorio è destinato: http://www.mariafrancescapes.it/Dami...ver/first.html Damiano era mio figlio Ultima modifica di cos1950 : 21-05-2016 alle 12:37. |
|
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Nov 2010
Città: Londra
Messaggi: 620
|
mi spiace ...
Ti potrei consigliare di provare questo percorso, in 3 ore sono sicuro capirai un po meglio. https://www.codecademy.com/learn/jquery Se trovi dei concetti che non ti sono chiari allora probabilmente vorrai ripassare javascript Riguardo il tuo codice l'errore potrebbe essere qui: Codice:
document.getElementById('mc').style.display=yes
In questo caso quella proprieta' style.display deve ricevere una stringa, quindi tra "" virgolette e i valori che puoi assegnargli sono quelli che potresti dare con CSS https://developer.mozilla.org/en-US/...eb/CSS/display |
|
|
|
|
|
#10 | |
|
Senior Member
Iscritto dal: Nov 2000
Città: prov. Olbia-Tempio; Trattative concluse: ne ho perso da tempo il conto
Messaggi: 6860
|
Quote:
Ho provato sia con il codice su href con onclick che in una function separata in uno script in fondo al body... Alla fine ne sono venuto a capo mettendo alla proprietà display (dell'element) 'inline' al posto di 'yes' o 'visible'... come in questo frammento di codice http://forum.it.altervista.org/javas...t-display.html e così ha funzionato... |
|
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Nov 2010
Città: Londra
Messaggi: 620
|
Ti consiglio vivamente di farti la traccia web su codecademy che comprende html+css+js e poi jQuery.
Altrimenti va a finire che ci perdi un sacco di tempo proprio xke ti mancano delle basi importanti del web, ad esempio il non sapere le diverse proprieta' "display" che puoi assegnare ad un elemento (inline, inline-block, block, table, flex, none, etc...) |
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Nov 2000
Città: prov. Olbia-Tempio; Trattative concluse: ne ho perso da tempo il conto
Messaggi: 6860
|
questo frammento di codice, in cui ho fatto ricorso a jQuery, dovrebbe fa scomparire l'elemento <object> che è un player swf, utilizzando il metodo FadeOut(0)
Codice:
<object id="player" style="classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" name="suona" >
<param name="movie" value="mm/player.swf">
<param name="allowfullscreen" value="true">
<param name="allowscriptaccess" value="always">
<embed type="application/x-shockwave-flash"
id="player2"
name="player2"
src="player.swf"
width="420"
height="340"
allowscriptaccess="always"
allowfullscreen="true"
backcolor="red"
flashvars="file=playlist.xml&image=dam042.jpg">
</object>
<input type="button" id="bottone" value="Fade out" href="javascript:void(0)">
</input>
<script type="text/javascript" src="scripts/jquery-1.4.3.min.js"></script>
<script type="text/javascript">
$("#bottone").click(function()
{
$(‘#player’).fadeOut(0);
});
</script>
Ultima modifica di cos1950 : 22-05-2016 alle 13:25. |
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: Nov 2010
Città: Londra
Messaggi: 620
|
Quel codice e' pienissimo di errori
Ci sono virgolette aperte e non chiuse. La versione di jQuery che stai usando e' vecchissima, usa la 2.x http://jquery.com/download/ Stai usando un editor che ti possa dare delle dritte? Altrimenti semplicemente facendo copia&incolla del tuo codice su jsbin ti rendi conto degli errori (tutto quello che e' rosso)
|
|
|
|
|
|
#14 |
|
Senior Member
Iscritto dal: Nov 2000
Città: prov. Olbia-Tempio; Trattative concluse: ne ho perso da tempo il conto
Messaggi: 6860
|
Jsbin è favoloso... in 4 e 4 otto ho trovato tutti i bug... adesso funge
|
|
|
|
|
|
#15 |
|
Senior Member
Iscritto dal: Nov 2010
Città: Londra
Messaggi: 620
|
ti consiglio di usare un editor moderno tipo https://atom.io/
e aggiungi qualche plugin utile tipo https://atom.io/packages/linter https://atom.io/packages/linter-htmlhint https://atom.io/packages/linter-jshint o il piu' moderno https://atom.io/packages/linter-eslint e magari https://atom.io/packages/atom-beautify con questo dovresti evitare tutti quegli errori che un linter ti segnala prontamente ciao |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 18:59.




















