Ich versuche, eine Position zu implementieren: feste Spirale-to-Top-Taste und eine Schaltfläche, die durch den Abschnitt der Seite nach unten scrollt Abschnitt. Ich habe einen ähnlichen Code gesehen, der mit IDs arbeitet, aber ich würde gerne die Klassen der Sektionen und .next() .closes() verwenden, um dies zu erledigen. Ist das mit jQuery möglich? Die nach oben scrollen und auf den zweiten Abschnitt der Arbeit zu bewegen, aber ich kann nicht über den zweiten Abschnitt mit .next() erhalten und .closest()jQuery nach oben scrollen und blättern Sie zum nächsten Abschnitt
Das ist mein html:
<body>
<a href="#0" class="cd-top">Top</a>
<a href="#2" class="cd-next">next</a>
<div class="section">
<section class="x_section"> 1</section>
<section class="x_section"> 2</section>
<section class="x_section"> 3</section>
<section class="x_section"> 4</section>
</div>
</body>
und das ist die javascript:
jQuery(document).ready(function($){
$next = $('.cd-next'),
$back_to_top = $('.cd-top');
//smooth scroll to top
$back_to_top.on('click', function(event){
event.preventDefault();
$('html,body').animate({ scrollTop: 0 }, 700);
});
$next.on('click', function(event){
event.preventDefault();
if (typeof advance == 'undefined') {
var fuller = $('section').closest('.x_section').next(),
section = $('.x_section').closest('.x_section').next(),
top0 = section.scrollTop(),
advance = fuller.offset().top;
}
else { var advance = advance + fuller.offset().top; }
$('html,body').animate({ scrollTop: top0 + 408 }, 700);
}) ;
});
Hier ist meine Geige: https://jsfiddle.net/pnemeth/uLrjdm7e/
Hmm, ich war nicht klar, .next und .closest Ihrem Entwurf relevant waren. Ich entschuldige mich. – Inkdot
Ich glaube, das Problem ist, dass die .closes() -Methode das nächste Element in der DOM-Struktur findet, nicht in der Fensteransicht. Ich denke, der einzige Weg, um dies zu umgehen, ohne 'ID-Tags' zu verwenden, wäre eine Funktion zu schreiben, um die Fensterposition in Bezug auf jedes Element der Klasse "x_position" zu berechnen, inkrementieren das Element, das Sie vergleichen mit der Fensterposition Zeit erreichen Sie ein Element mit der Klasse "x_position". Es wäre viel einfacher und weniger Code verwenden, um die Route "ID-Tag" zu gehen. – Inkdot
Hallo Inkdot! Danke für die Lösung! Du hast recht, ich habe das komplizierter begonnen, als es sein sollte. Ihre # 1 Lösung funktioniert gut. # 2 beinhaltet auch next() und engste(), was ich am Anfang für eine gute Idee hielt, aber jetzt bin ich für deine erste Lösung. –