Wie, um einen Bildlauf zum li-element in einer ul-Liste
Ich habe eine ul-Liste innerhalb eines div-Element mit li-Elementen und innerhalb der li-Elemente ist eine einzige checkbox. Ich habe die id für die Checkboxen. Ich will also die übergeordnete li-element der checkbox und navigieren Sie zu der position. Und ich kann nicht damit es funktioniert.
Mein html sieht so aus:
<div id="divElement">
<ul>
<li>
<input type="checkbox" id="343532532523" />
</li>
</ul>
</div>
Habe ich versucht diese beiden Methoden, und Sie arbeiten nicht für mich:
$('#divElement').scrollTop($('#343532532523').parent().position().top);
$('#divElement').firstChild().scrollTop($('#343532532523).parent().position().top);
- Können Sie nach dem Beispiel in jsfiddle.net?
- Möchten Sie zu gehen, um LI-element oder Holen Sie sich die position des LI-element ?
- gehen Sie auf das Li-element
InformationsquelleAutor kyleb | 2012-10-12
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn jemand braucht eine Vanille-JS-version, die folgende ist gut für mich, der Wert von 50 ist nur so, dass ich mich zeigt die ganze Sache, wenn ich in der Nähe der Spitze der Liste. Sie können einstellen, dass.
Hatte ich einen anderen dev Freund von mir, der mir half und wir kamen auf dies und es funktioniert, kein animieren, ich könnte es tun, nur ich brauche es nicht..
Ich fixierte diese mit dem Element.scrollIntoView() Ansatz:
https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoView
Arbeitete er in Chrome, Firefox und Internet Explorer - habe ich noch nicht getestet es in jedem anderen Browser.
Alte Frage, aber hier ist eine Reine js-Funktion, die Schriftrollen der LI in die Ansicht an der Spitze, wenn es gerade über der Oberseite und an der Unterseite, wenn es momentan unter dem Boden. Das gibt glatte scrollen von der UL, wenn Sie mit den up /down-Pfeile, um einen Bildlauf durch Sie (mit addEventListener keydown-und keyup-Ereignisse).
Einen quirck for fun:
Was es tut, ist den url-Teile, und legen Sie es wieder mit dem eigentlichen Anker zu Ihrem element
Könnte arbeiten für die meisten Fälle, wenn Ihre Website ist nicht eine webapp Art der Sache =)
Edit: Es gibt keine hin-und Rückfahrt in modernen Browsern, die nur einen Teil der URL sich ändert, ist der Anker. Meine überlegung, wäre es nicht eine webapp ist, dass diese Art von websites in der Regel Bearbeiten Anker und Geschichte.
Hier ist eine einfache demo, die jQuery verwendet
position()
um die LI-position innerhalb des übergeordneten UL, dann nutztanimate()
scrollen Sie die Kontrollkästchen in Ansichthttp://jsfiddle.net/qKGv8/
API Referenzen:
http://api.jquery.com/position/
http://api.jquery.com/animate/
promptAnswerBlock-->ul-element-id
$('#promptAnswerBlock').scrollTop($('#promptAnswerBlock')[0].scrollHeight + 150);
150 ist nur ein offset-Wert
können Sie einstellen, wie pro Ihre requirment