单击控件后自动滑动不起作用



在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;
  });

这可能会解决您的问题;我的一个项目也面临同样的问题:

slider.startShow();

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

试试这个

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

它对我有效。

以下是解决bxSlider 4.1.1问题的最优雅的解决方案。通过编辑jquery.bxslider.js文件,并添加下面显示的两行。然后前往这个链接jscompressor,对其进行压缩(包括收缩变量),现在它可以按照预期工作,而不需要额外的编码来解决问题。(Thnx适用于Freelancers)

....
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
}
...

最新更新