Автоматическое скольжение не работает после нажатия элементов управления - PullRequest
1 голос
/ 24 февраля 2012

В boxslider автопереключение работает отлично с первого раза.Но когда мы нажимаем на элементы управления (стрелка влево и вправо), автоматическое скольжение не работает.Вот мой код:

<ul id="slider-assocoates">
    <li><a href="#" target="_blank"><img src="images/abcdef.png" /></a>
    </li>
     <li><a href="#" target="_blank"><img src="images/abc.png" /></a>
     </li>
</ul>
    <nav>
        <a href="#" id="go-prev-assocoates" class="left-arrow">Prev</a>
        <a href="#" id='go-next-assocoates' class="right-arrow">Next</a>
    </nav>

$(function(){
  var slider = $('#slider-assocoates').bxSlider({
    controls: false,
    auto: true,
    pause: 6000
  });

  $('#go-prev-assocoates').click(function(){
    slider.goToPreviousSlide();
    return false;
  });

  $('#go-next-assocoates').click(function(){
    slider.goToNextSlide();
    return false;
  });

Ответы [ 4 ]

1 голос
/ 09 марта 2012

Это может решить вашу проблему;Я столкнулся с той же проблемой с одним из моих проектов:

slider.startShow();

0 голосов
/ 14 февраля 2014

Вот самое элегантное решение, которое решает проблему для bxSlider 4.1.1.отредактировав файл jquery.bxslider.js и добавив две строки, показанные ниже.затем идите к этой ссылке jscompressor , чтобы сжать ее.(включая переменные сжатия), и теперь он работает так, как и предполагалось, без дополнительного кодирования для обхода.( Спасибо фрилансерам за это решение )

....

var clickNextBind = function(e){
    // if auto show is running, stop it
    if (slider.settings.auto) el.stopAuto();


    el.goToNextSlide();
    e.preventDefault();

    el.startAuto();   // ---------------JUST ADD THIS LINE

}

/**
 * Click prev binding
 *
 * @param e (event) 
 *  - DOM event object
 */
var clickPrevBind = function(e){
    // if auto show is running, stop it
    if (slider.settings.auto) el.stopAuto(); 
    el.goToPrevSlide();
    e.preventDefault();

    el.startAuto();   // ---------------JUST ADD THIS LINE

}

...
0 голосов
/ 07 января 2014

Попробуйте это

$(function(){
    var slider = $('#slider-assocoates').bxSlider({
    controls: false,
    auto: true,
    pause: 6000
});

$('#go-prev-assocoates a, #go-next-assocoates a').click(function(e){
    var i = $(this).index();
    slider.goToSlide(i);
    slider.stopAuto();
    restart=setTimeout(function(){
        slider.startAuto();
    },500);
    return false;
});

Это работает для меня.

0 голосов
/ 17 мая 2013
var clickNextBind = function(e){
            // if auto show is running, stop it
            var x = 0; 
            if (slider.settings.auto) x = 1;
            if(x == 1) el.stopAuto();
            el.goToNextSlide();
            if(x == 1) el.startAuto();
            e.preventDefault();
        }
...