Wie kann ich die tabindex
eines Elements basierend darauf ändern, ob das Element sichtbar ist (im sichtbaren Bereich)? Ich möchte eines dieser Dinge tun: Setzen Sie den aktuellen tabindex
beim Eingeben eines neuen Abschnitts zurück und weisen Sie den Elementen in diesem Abschnitt neue tabindex
zu. Oder in der Lage sein, tabindex
bestimmter Elemente zu deaktivieren und wieder zu aktivieren.Wie Tabindex von versteckten/sichtbaren Elementen zu deaktivieren und wieder zu aktivieren?
html:
<div id="nav">
<a id="firstLink" href="#section1" tabindex="1">Go to section 1</a>
<a id="secondLink" href="#section2" tabindex="2">Go to section 2</a>
</div>
<div id="container">
<div id="section1">
<a href="#" tabindex="3">Specific to section 1</a>
</div>
<div id="section2">
<a href="#" tabindex="3">Specific to section 2</a>
</div>
</div>
Ich mag die Links in der Tab-Reihenfolge sein, wenn ihr Abschnitt sichtbar ist.
css:
#container{
overflow: hidden;
width: 400px;
height: 400px;
}
#section1{
background: red;
width: 400px;
height: 400px;
}
#section2{
background: green;
width: 400px;
height: 400px;
}
anschauliches Beispiel: http://jsfiddle.net/2UF3n/5/
aber was ist, wenn ich nicht das 'versteckte' Attribut verwende. In meinem Beispiel ist es ein Container mit 'overflow: hidden'. Könntest du mein Beispiel überarbeiten, um mir zu zeigen, wie das aussehen könnte? –
Sie müssen etwas unterscheiden, um die versteckten Elemente auszuwählen. In diesem Fall gibt es keine Möglichkeit, Links aufzunehmen, die wegen Überlaufs nicht angezeigt werden: versteckt; ohne Positionschecks zu machen ... was ich denke, ist mehr ein Schmerz im Hintern, als Sie damit umgehen wollen. Mit dem: hidden-Selektor in jQuery werden Elemente ausgewählt, die keinen Platz im Dokument belegen, jedoch überlaufen: hidden; erreicht das nicht; sie nehmen immer noch Platz ein, du kannst es einfach nicht sehen. Ich würde vorschlagen, die Elemente, die Sie nicht benötigen sichtbar über CSS oder jQuery und nicht Überlauf: versteckt ;. –
Das macht viel Sinn, aber in meinem eigentlichen Projekt habe ich eine Menge Animationen, die auf "overflow: hidden" beruhen. Ich werde verschiedene Selektoren ausprobieren und das Attribut 'disabled' verwenden, wie Sie es vorgeschlagen haben. –