stevenwanderski / bxslider-3

jQuery custom content slider
http://bxslider.com
448 stars 101 forks source link

AutoPlay does not resume after click on bx-pager button #214

Open jonwallacedesign opened 11 years ago

jonwallacedesign commented 11 years ago

I have autoplay on by default when my carousel begins, but when someone presses on the little bullet buttons in the "bx-pager" DIV - then autoplay stops and the carousel no longer auto advances to the next slide??? Can you advise how to enable this please?

Code I have is:

$(document).ready(function(){ var slider = $('.bxslider').bxSlider({ randomStart: true, auto: true, autoHover: true, controls: false, pause: 1000 });

Note - I am using v4.1

DarwinStearns commented 11 years ago

I would also like to find a way to do this in 4.1.1. Have tried several methods suggested in other threads, but can't seem to get them to work...

studiosmeeuw commented 10 years ago

Stumbled upon the same bug when integrating a slider in a project of mine.

It's actually 'easy' to fix. Just add the code below after code line 754 (clickPagerBind function) in jquery.bxslider.js (v4.1.1) and minify it again.

// if auto show was running before, start it again
if (slider.settings.auto) el.startAuto();

Et voila!

kipusoep commented 10 years ago

As a website visitor, I would find it really annoying if a slider doesn't stop autoplay when I take control of selecting which slide I'd like to watch. So for me this isn't a bug at all!

Nondv commented 9 years ago

Necroposting:)

Hello!

I've just solved this problem by onSlideAfter event:

var slider = $(".bxslider").bxSlider({
    auto:true,
    onSlideAfter: function() {
        slider.stopAuto();
        slider.startAuto();
        }
});

It works after clicking on left-right navigation and pager. But if you clicked on current-page-button this didn't work of course:(

Other sollution is overriding stopAuto & startAuto methods:

    slider.stopAuto = function() {
        clearInterval(slider.interval); // stop sliding
        slider.interval = false; // remove interval id
        slider.startAuto(); // restart auto-sliding
        return false;
    }

    slider.startAuto = function (preventControlUpdate){
        // if an interval already exists, disregard call
        if(slider.interval){ 
            return;
        }
        // create an interval
        slider.interval = setInterval(
            function(){
                slider.goToNextSlide();
            },
            5000
        );
jhonatan2760 commented 8 years ago

Had the same problem, there edited the file jquery.bxlider

started the online: 707

I put this and it worked:

/ **

/ **