Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
469 views
in Technique[技术] by (71.8m points)

如何使swiper.js在页面返回时保持原来状态

页面中含有swiper.js,当点击第3个块的标签,跳转到下一个页面,下一个页面返回时,原来的页面中已经不是第3块了,而是第1块,我希望时他还能是第3块,同时上面的tab也是对应的第三块。

clipboard.png

clipboard.png

clipboard.png

clipboard.png

clipboard.png
还是回到了回来状态,但是我希望它是这样的

clipboard.png

使用了sessionStorage 就会报错

clipboard.png

window.onload = function() {

    $(".tabs").find("a").eq(0).addClass("active");

    var index=0;
    if(sessionStorage.getItem("index")){
        index=sessionStorage.getItem("index");
    }
    //点击页面链接跳转前保存导航当前的index值
    $("a").bind("click",function(){
        var i= $(".swiper-slide-active").index();
        sessionStorage.setItem("index",i);
    });
    var tabsSwiper = new Swiper('#tabs-container',{
        speed:500,
        initialSlide: index,
        onSlideChangeStart: function(){
            $(".tabs .active").removeClass('active');
            $(".tabs a").eq(tabsSwiper.activeIndex).addClass('active')
        }
    });

    $(".tabs a").on('touchstart mousedown',function(e){
        e.preventDefault();
        $(".tabs .active").removeClass('active');
        $(this).addClass('active');
        tabsSwiper.slideTo( $(this).index());
    });
    $(".tabs a").click(function(e){
        e.preventDefault()
    });
}

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

嗯,每次进入页面都是一次新的访问,所以都是初始化状态。达到这个要求你需要一个地方记录swiper的index,你可以使用sessionStorage;


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...