首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在滑块中重复滚动图像

如何在滑块中重复滚动图像
EN

Stack Overflow用户
提问于 2015-03-27 05:46:16
回答 4查看 1.3K关注 0票数 3

我的问题是如何滚动拇指图像无止境?我的意思是,当我点击右点图像(>)时,应该向左滚动,然后从第一个图像再重复一次,与右指针相同。

我一直成功地滚动图像,但在滚动结束图像,而不是滚动。我想滚动无止境(意味着应该再次重复)。

请帮帮忙。

--谢谢--

代码语言:javascript
复制
function slider(action){

  if(action == 'next'){
     var leftPos = $('#bx-pager').scrollLeft();
    $("#bx-pager").animate({scrollLeft: leftPos - 50}, 500);
  } else {
    var leftPos = $('#bx-pager').scrollLeft();
    $("#bx-pager").animate({scrollLeft: leftPos + 50}, 500);
  }

}
代码语言:javascript
复制
.slideWrap{position: relative;height: 50px;width:300px;overflow:hidden}
.slideWrap span{background: rgba(0,0,0,.3);height: 100%;position: absolute;top:0px;right: 0;z-index: 1;}
.slideWrap span i{color: #fff;height:50px;padding: 15px 2px}
.slideWrap span i:hover{color: #f2822e}
span#moveNext {}
span#movePrev{left: 0;right: auto;}

#bx-pager ul {padding: 0;margin: 0;width: 400px;list-style:none}
#bx-pager ul li{float: left}
#bx-pager ul li a img{height: 50px;width: 50px;border:3px solid #333;margin:2.5%}
代码语言:javascript
复制
<script src="https://github.com/stevenwanderski/bxslider-4/blob/master/src/js/jquery.bxslider.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">

<div class="slideWrap">
                                            <span id="moveNext"><a href="javascript:void(0);" onclick="slider('next')"><i class="glyphicon glyphicon-chevron-right"></i></a></span>
                                                <div id="bx-pager">
                                                    <ul>
                                                        <li><a data-slide-index="0" href=""><img src="http://www.ucl.ac.uk/news/news-articles/1213/muscle-fibres-heart.jpg" /></a></li>
                                                        <li><a data-slide-index="1" href=""><img src="http://www.ucl.ac.uk/news/news-articles/1213/muscle-fibres-heart.jpg" /></a></li>
                                                        <li><a data-slide-index="2" href=""><img src="http://www.ucl.ac.uk/news/news-articles/1213/muscle-fibres-heart.jpg" /></a></li>
                                                        <li><a data-slide-index="3" href=""><img src="http://www.ucl.ac.uk/news/news-articles/1213/muscle-fibres-heart.jpg" /></a></li>
                                                        <li><a data-slide-index="1" href=""><img src="http://www.ucl.ac.uk/news/news-articles/1213/muscle-fibres-heart.jpg" /></a></li>
                                                        <li><a data-slide-index="2" href=""><img src="http://www.ucl.ac.uk/news/news-articles/1213/muscle-fibres-heart.jpg" /></a></li>
                                                        <li><a data-slide-index="3" href=""><img src="http://www.ucl.ac.uk/news/news-articles/1213/muscle-fibres-heart.jpg" /></a></li>
                                                        <li><a data-slide-index="2" href=""><img src="http://www.ucl.ac.uk/news/news-articles/1213/muscle-fibres-heart.jpg" /></a></li>
                                                        <li><a data-slide-index="3" href=""><img src="http://www.ucl.ac.uk/news/news-articles/1213/muscle-fibres-heart.jpg" /></a></li>
                                                    </ul>
                                                </div>
                                            <span id="movePrev" > <a  href="javascript:void(0);" onclick="slider('prev')"><i class="glyphicon glyphicon-chevron-left"></i></a></span>
                                            </div>

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-03-27 08:52:26

谢谢大家的努力,但我得到了正确的答案。

代码语言:javascript
复制
function slider() {
    var item_width = $('#bx-pager ul li').width(); 
    var left_value = item_width * (-1); 


        var left_indent = parseInt($('#bx-pager ul').css('left')) - item_width;

        $('#bx-pager ul ').animate({'left' : left_indent}, 100, function () {
            $('#bx-pager ul li:last').after($('#bx-pager ul li:first'));                  
            $('#bx-pager ul').css({'left' : left_value});

        });
}
票数 1
EN

Stack Overflow用户

发布于 2015-03-27 06:48:19

这方面的基本方法是: 1.在事件为“next”时:从ul中删除第一个子节点,并将其添加到ul标记的末尾。2.单击“先前”:从ul中移除最后一个子区域,并将其添加到ul的前面。

使用.children获取孩子,然后访问第0次或第1次chilren.length -1,然后使用它进行游戏。

票数 1
EN

Stack Overflow用户

发布于 2015-03-27 06:52:57

对我来说,问题在于CSS3转换和添加useCSS: false强制me滑块使用jQuery来代替CSS。

代码语言:javascript
复制
<script type="text/javascript">
  $(document).ready(function(){ 
     $('.bxslider').bxSlider({

         auto: true,
         autoControls: false,
         controls: false,
         pause: 4000,
         infiniteLoop: true,
         mode: 'horizontal',
         autoDirection: 'next',
         responsive: true,
         preloadImages: 'all',
         minSlides: 2,
         autoDelay: 0,
         randomStart: false,
         pager: false,
         moveSlideQty: 1,
         useCSS: false,
           });
         });
       </script>  
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29294093

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档