1

在 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

4 回答 4

1

这可能会解决您的问题;我的一个项目遇到了同样的问题:

slider.startShow();

于 2012-03-09T06:32:20.743 回答
0
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();
        }
于 2013-05-17T10:06:00.210 回答
0

尝试这个

$(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;
});

这个对我有用。

于 2014-01-07T07:13:45.823 回答
0

这是解决 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

}

...
于 2014-02-14T11:25:32.993 回答