<a href="#" onlick="showimg(img1)"><img.../></a>
Nun stört mich, dass bei einem klick darauf der Browser an den Anfang der Seite geschickt wird.
Das ist klar, solange du die Standardaktion nicht unterdrückst, wird erst der click-Handler ausgeführt und dann die URI im href-Attribut aufgerufen. Und # werten die Browser nunmal als Sprung zum Dokumentanfang.
Ich kann ja das onclick attribut auch einfach in den <img> schreiben, da fehlt aber auch der "Hand"-Mauscursor. Wie füge ich den per onmouseover hinzu?
Den fügst du per CSS hinzu: <http://de.selfhtml.org/css/eigenschaften/anzeigefenster.htm#cursor@title=cursor: pointer;>
Oder gibt es eine viel einfachere Lösung an die ich nicht gedacht habe?
Mit return false die Standardaktion unterdrücken:
onclick="bla(); return false;"
Wenn du das JavaScript auslagerst und den Event-Handler via JavaScript registrierst, dann notiere am Ende der Handler-Funktion return false.
Die Nutzung von a ist gar nicht so falsch, weil du im href-Attribut die Adresse des Großbildes angeben kannst und das Attribut dann im JavaScript auslesen kannst. Hier ein schönes Beispiel für eine zugängliche Galerie, die auch ohne JavaScript funktionieren kann:
https://forum.selfhtml.org/?t=183494&m=1215951
Mathias