2017-10-08 1 views
0

Ich benutze swiper.js. Ich möchte immer neue/aktive Folien nach oben scrollen lassen. Wenn also eine neue Folie in das Ansichtsfenster kommt, muss der Inhalt nach oben gescrollt werden.Scroll Swiper Folien immer nach oben

Ich habe eine Geige hier: https://jsfiddle.net/p406sfe4/8/

ich aber, dass dieses Skript erreichen könnte, was ich brauche, aber es scheint nicht zu funktionieren:

swiper.on('slideChangeEnd', function(s) { 
    s.slides.each(function() { 
    if ($(this).index() !== s.activeIndex) $(this)[0].scrollTop = 0 
    }); 
}); 

Dank!

Antwort

0

Wenn Sie die Höhe des Containers/der Objektträger nicht beschränken und einen Überlauf verursachen, befindet sich der scrollbare Inhalt nicht in jeder Folie. In diesem Fall sollten Sie sich auf die Eigenschaft scrollTop des Swiper-Containers oder eines anderen übergeordneten Elements konzentrieren.

Unabhängig davon, zu was Sie scrollen, funktioniert das Ereignis besser, wenn es der Initialisierungskonfiguration hinzugefügt wird. Um den Code von Ihrem jsfiddle zu verwenden:

var swiper = new Swiper('.swiper-container', { 
    pagination: '.swiper-pagination', 
    paginationClickable: true, 
    nextButton: '.swiper-button-next', 
    prevButton: '.swiper-button-prev', 
    spaceBetween: 30, 
    hashnav: true, 
    autoHeight: true, 

    // attach callback here 
    onSlideChangeEnd: function (swiperObj) { 
    $('.swiper-container').css('scrollTop', '0'); 
    } 
}); 
Verwandte Themen