Autor Zpráva
Bouda
Profil *
Dobrý den. Prosím o radu s PHP + JS.
S javascriptem se teprve pořádně seznamuji.

Chtěl bych na stránce kde mam fotografie umožnit ovládání pomocí šipek na klávesnici.
Zatím jsem dokázal odchytit stišk klávesy, ale nevím jak na klávesu předat proměnnou a přechod na další fotografii.
Potřebuji, aby to stisk klávesy odchytávalo na celé stránce bez nutnosti někam klikat.
Výtah z kódu...
Script mam zatím takový:
<script type="text/javascript">
function funkce(e, Ladresa, Radresa) {
if (e.charCode) { a = e.charCode; b = "ff"; } else { a = e.keyCode; b = "ie"; }
 l= Ladresa;
 r= Radresa;
if (a == 37) {
alert(l);
}
if (a == 38) {
alert("Up");
}
if (a == 39) {
alert(r);
}
if (a == 40) {
alert("Down");
}
}
</script>

//test odchycení stisku klavesy
echo '<body onkeypress="funkce(event, \'Levy obrazek\', \'Pravy obrazek\')">';
.
.
echo "<div>";
SQL dotaz
.
//tlačítko s linkem k předchozímu obrázku
echo  '<div><a href="foto.php?album='.$album.'&foto='.$row2['image_id'].'"><img src="sys/images/go-previous.png" alt="go-previous.png, 1,2kB" title="Go previous" border="0" height="32" width="32"></a>';
.
//tlačítko s linkem k následujícímu obrázku
SQL dotaz
echo  '<a href="foto.php?album='.$album.'&foto='.$row2['image_id'].'"><img src="sys/images/go-next.png" alt="go-next.png, 1,2kB" title="Go next" border="0" height="32" width="32"></a></div>';
 echo "</div>";
 .
 .
 .


Dotaz zní jak z toho co mám, zprovoznit listování obrázky...
(dostat do Ladresa a Radresa foto.php?album='.$album.'&foto='.$row2['image_id'] a přejít na danou adresu)

Předem moc děkuji za rady.
Bouda
Profil *
Nebo mě teď napadlo, zda by něslo po stisku danné klávesy nasimulovat kliknutí na určitý div s odkazem.
Bylo by to možné? (nevím jeslti jsem se právně vyjádřil)
Bouda
Profil *
Nevíte prosím někdo nějaké jiné řešejí jak udělat navigaci po stránce pomocí klávesnice. Klidne předělam celou stránku, aby to fungovalo :)
Chamurappi
Profil
Reaguji na Boudu:
dostat do Ladresa a Radresa foto.php […]
Dostat proměnné do HTML kódu zjevně umíš.
Zároveň máš v HTML kódu volání funkce, do kterého nyní předáváš řetězce Levy obrazek a Pravy obrazek.
Tak v čem je problém?

Nevíte prosím někdo nějaké jiné řešejí jak udělat navigaci po stránce pomocí klávesnice
Víme.
Aichi
Profil
Zdá se, že chce poradit, aby místo alertu bylo window.location.href = l nebo r. Do body onload funkce pak místo těch dvou stringů přijdou URL adresy předchozího a následujícího obrázku
Bouda
Profil *
Chamurappi

Díky za nakopnutí, celou dobu byl problém v tom, že jsem "nevěděl jak předat tu proměnnou, když mi vznikne až dál" a neuvědomoval si, že jednoduše můžu udělat ty SQL dotazy i před tim Javascriptem.

Přikládám celý ten zázrak nad kterým jsem se pachtil 2 dny :)
třeba to někomu taky pomůže otevřít oči (připomnělo mi to hlášku: Jsi jako tonoucí, co křičí "Žízním!" :-D)

SQL dotazy.....

<script type="text/javascript">
function funkce(e, Ladresa, Radresa) {
if (e.charCode) { a = e.charCode; b = "ff"; } else { a = e.keyCode; b = "ie"; }
 l= Ladresa;
 r= Radresa;
if (a == 37) {
window.location = "<?PHP echo $prew ?>"; 
}
if (a == 38) {

window.location = "album.php?album=<?PHP echo $album ?>";         
}
if (a == 39) {
window.location = "<?PHP echo $next?>"; 
}
if (a == 40) {
alert("Down");
}
}
</script>
Bouda
Profil *
a pro pořádek ještě
$next = ("foto.php?album=$album&foto=$id");
                    } 
                     else {$next = ("#");
                    }

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0