mi servirebbe un aiuto per aggiustare lo script:
il cronometro funziona solo per la prima immagine e poi si blocca a 0 per le successive.
poi vorrei che tutte le immagini partissero da sole dopo aver pigiato il bottone di reazione.
grazie
<?php
// Qui specifica le variabili
$dirimm = "fototest"; // Specifica la directory delle immagini
$titolo = "Questionario"; // Il titolo della pagina
$immg = array();
$nimg = 0;
$dirhan = opendir($dirimm);
while(false !== ($fimm = readdir($dirhan))) {
if($fimm != "." && $fimm != "..") {
$immg[$nimg] = $dirimm."/".$fimm;
$nimg++;
} }
closedir($dirhan);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script type="text/javascript" language="javascript">
var msec = 0;
var sec = 0;
var min = 0;
var hour = 0;
var frase = "";
var nim = <?php echo count($immg); ?>;
var nin = 0;
var dimm = new Array();
<?php
foreach($immg as $key => $img) {
$gim = getimagesize($img);
echo "dimm[".$key."] = '<img src=\"".$img."\" ".$gim[3].">';\n";
}
?>
function cronometro(inp) {
msec++;
if(msec == 1000) { msec = 0; sec++; }
if(msec <= 9) { msec = "000" + msec; }
else if(msec > 9 && msec <= 99) { msec = "00" + msec; }
else if(msec > 99 && msec <= 999) { msec = "0" + msec; }
tou = window.setTimeout('cronometro()', 1);
document.getElementById('cronometro').value = "1";
}
function reaz(num) {
nin++;
if(num == 1) {
frase += "Hai reagito positivamente all'immagine";
}
else if(num == 0) {
frase += "Hai reagito negativamente all'immagine";
}
frase += " in " + sec + "," + msec + " secondi.";
if(nin <= nim) { frase += "
<a href=\"javascript:avanti(" + nin + ")\">Vai alla prossima immagine</a>"; }
document.getElementById('esito').innerHTML = frase;
document.getElementById('cronometro').value = "0";
window.clearTimeout(tou);
}
function avanti(num) {
document.getElementById('divimm').innerHTML = dimm[num];
document.getElementById('esito').innerHTML = "";
sec = 0;
msec = 0;
min = 0;
hour = 0;
}
function tasti() {
// A 65 - L 76
var tasto = window.event.keyCode;
if(tasto == 65) { reaz(1); }
else if(tasto == 76) { reaz(0); }
}
function FP_preloadImgs() {
var d=document,a=arguments; if(!d.FP_imgs) d.FP_imgs=new Array();
for(var i=0; i<a.length; i++) { d.FP_imgs[i]=new Image; d.FP_imgs[i].src=a[i]; }
}
</script>
<title><?php echo $titolo; ?></title>
</head>
<body onload="avanti(0); cronometro(document.getElementById('cronometro').v alue); FP_preloadImgs(<?php
foreach($immg as $img) {
echo "'".$img."', ";
}
?>'')" onkeyup="tasti()">
<input type="hidden" name="cronometro" id="cronometro" value="0">

Rispondi quotando