Ich habe eine Liste von Bild divs und will zwischen ihnen durch rechts, links, oben und unten Pfeile auf der Tastatur gedrückt werden.Ich versuchte die folgende jQuery aber der Bild Fokus ändert sich nie, wenn ich die Pfeile drücken.Ich möchte die Bildgrenze glüht wenn es den Fokus erhält, so weiß der Benutzer, welcher ausgewählt ist. (Ich möchte den Standardfokus beim ersten Laden immer auf der Seite haben.) Kann jemand mir helfen, dieses Problem zu beheben. Vielen Dank im Voraus.Wie navigiere ich zwischen divs mit Klassennamen auf Keydown?
Divs:
<div class="scroller">
<div id="Div1" style="display: visiable;">
<div class="image1">
<a href="javascript:doIt('10')">
<img src="./content/1/102.jpg" alt="..">Movie 1
</a>
</div>
<div class="image2">
<a href="javascript:doIt('11')">
<img src="./content/2/102.jpg" alt="..">Movie 2
</a>
</div>
<div class="image3">
<a href="javascript:doIt('12')">
<img src="./content/3/102.jpg" alt="..">Movie 3
</a>
</div>
<div class="image4">
<a href="javascript:doIt('13')">
<img src="./content/4/102.jpg" alt="..">Movie 4
</a>
</div>
</div>
</div>
jquery:
<script>
$(document).keydown(function (e) {
var index = $(":focus").index() + 1;
if (e.which === 37) {
alert("left:37");
$('div a:nth-child(' + (index - 1) + ')').focus();
} else if (e.which === 39) {
alert("right 39");
$('div a:nth-child(' + (index + 1) + ')').focus();
} else if (e.which === 38) {
alert("Up:38");
$('div a:nth-child(' + (index - 1) + ')').focus();
} else if (e.which === 40) {
alert("Down:40");
$('div a:nth-child(' + (index + 1) + ')').focus();
}
});
</script>
css:
<style>
.image {
float:left;
width: 50%;
}
img {
width:100%;
}
a:focus {
//border: 1px solid black;
outline: none;
border-color: #9ecaed;
box-shadow: 0 0 10px #9ecaed;
}
.container {
width:100%;
}
@media (max-width: 740px){
.image {
width: 100%;
}
}
div.scroller {
overflow:scroll;
}
</style>
Danke für Ihre Antwort. Ich habe die Änderungen vorgenommen, aber immer noch einen beliebigen Pfeil drücken, der Fokus ändert sich nie zum nächsten oder vorherigen! Darf ich wissen, wie man den Codepen ausführt? Es ist nicht wie jsfiddle :-( – user1788736
Hier ist das gleiche Beispiel in jsfiddle, wenn das hilft: https://jsfiddle.net/j06v8sah/2/ – delinear
Wie Sie in der Jsfiddle Beispiel Onload der Seite beachten Sie den Fokus nicht auf den ersten Daumen und wenn ich den pfeil drücke, verschwindet der fokus statt der focus wechselt zum nächsten oder vorherigen! ich brauche diese funktion, weil ich das entwickle, so dass es am ende mit der fernbedienung funktioniert! ändere es, während ich verschiedene Pfeile drücke? – user1788736