【问题标题】:BxSlider: Save position of slider when page is refreshed/changedBxSlider:页面刷新/更改时保存滑块的位置
【发布时间】:2016-05-23 23:54:39
【问题描述】:

这是一个棘手的问题,我不知道该怎么做。

我将BxSlider 用于一个网站,该网站将像普通的典型滑块一样在图像中滑动。问题是我需要一种方法来保存用户所在滑块的最后一个位置,以便当他们刷新或导航到网站上的不同页面时,它不会重置回第一张幻灯片。

我的意思的图片示例:

图(1):滑块的当前位置。

图(2):刷新或换页后滑块的位置。

我需要滑块从最后一张幻灯片继续,而不是重置回第一张幻灯片。

这里是滑块的示例JsFiddle 以及 HTML:

<ul class="bxslider">
<li><img src="http://bxslider.com/images/730_200/hill_trees.jpg" /></li>
<li><img src="http://bxslider.com/images/730_200/me_trees.jpg" /></li>
<li><img src="http://bxslider.com/images/730_200/houses.jpg" /></li>
<li><img src="http://bxslider.com/images/730_200/tree_root.jpg" /></li>
<li><img src="http://bxslider.com/images/730_200/hill_fence.jpg" /></li>
<li><img src="http://bxslider.com/images/730_200/trees.jpg" /></li>

任何想法都将不胜感激。

【问题讨论】:

    标签: javascript jquery html bxslider


    【解决方案1】:

    bxSlider 提供两个选项:startSlideonSlideAfter

    您可以在此处查看他们的文档:Docs

    然后您需要在每次幻灯片更改时执行此操作,您可以使用localStorage.setItem() 存储当前索引,当页面加载时,您可以使用localStorage.getItem() 检索当前索引。

    JS:

    $(document).ready(function() {
    
        var startIndex = localStorage.getItem("currentIndex");
        if(startIndex == null)
            startIndex = 0;
    
        $('.bxslider').bxSlider({
        startSlide: startIndex,
            mode: 'horizontal',
            infiniteLoop: true,
            auto: true,
            autoStart: true,
            autoDirection: 'next',
            autoHover: true,
            pause: 3000,
            autoControls: false,
            pager: true,
            pagerType: 'full',
            controls: true,
            captions: true,
            speed: 500,
            onSlideAfter: function($slideElm, oldIndex, newIndex) {save($slideElm, oldIndex, newIndex)}
    });
    
        function save($slideElm, oldIndex, newIndex) {
            console.log(oldIndex + " " + newIndex);
    
            localStorage.setItem("currentIndex", newIndex);
        }
    })
    

    小提琴:http://jsfiddle.net/Yq3RM/1264/

    【讨论】:

    • 非常感谢。我被困了好几个小时试图想出一种方法。你帮我减轻了很多压力,谢谢。
    猜你喜欢
    • 2016-05-21
    • 1970-01-01
    • 1970-01-01
    • 2021-04-17
    • 1970-01-01
    • 2020-02-29
    • 1970-01-01
    • 1970-01-01
    • 2013-07-12
    相关资源
    最近更新 更多