jQuery滑块在末尾动态停止或附加li项以继续


jQuery slider stop dynamically at end or append li items to continue

我正在尝试通过单击箭头让一个jQuery函数左右滑动li项目。我正在使用一个名为TinyCarousel.js的jQuery脚本。当我让它正常运行时,它会继续向右滚动,直到最后一个 li 项目处于第一个位置。我目前拥有的内容可以在主滑块下的"当前测试或发布的游戏"部分看到。如果您一直向右滚动,您会注意到问题。

有没有可能...

1)更改jQuery以使最后一个li项目在窗口右侧完全显示后停止?我知道这必须相对于浏览器窗口大小,并且如果窗口大小显示部分项目,则进行一次部分移动。我也知道我必须知道我可以在 php 中执行的 li 项目的数量。

2)或两个,不断附加li,以便滑块似乎永远不会结束。只是一遍又一遍地重复继续?我猜我需要不断附加 li 项目,如果它们不在屏幕外,则需要删除它们。

我试图创建一个 jFiddle 来显示问题。但它在 jFiddle 上做了一些不同的事情,这更接近我需要的。它似乎在某个时候停止向右移动。但它不需要整个最后的 li 才能完全显示。它与我在实时站点上停止的功能有何不同?

任何帮助将不胜感激。我确实搜索并找到了这个,但在这种情况下似乎不起作用。谢谢你。

我正在使用jQuery 1.10.2,php 5.4,TinyCarousel.js版本1.9

这是我目前拥有的。CSS的

.PrevArrow {
    width: 5%;
    float: left;
    margin-top: 20px;
}
.NextArrow {
    width: 5%;
    float: right;
    margin-top: 20px;
}
.ListImage img {
    margin-top: 5px;
    margin-bottom: 10px;
}
#slider-code .viewport {
    float: left;
    width:90%;
    height: 95px;
    overflow: hidden;
    position: relative;
    margin-top: 5px;
    margin-left: auto;
    margin-right: auto;
}
#slider-code .buttons {
    display: block;
    margin: 0px 10px 0 10px;
    float: left;
}
#TickHead {
    margin-top: 3px;
}
#slider-code .prev {
    margin: 0 10px 0 10px;
}
#slider-code .next {
    margin: 0 10px 0 10px;
}
#slider-code .disable {
    visibility: hidden;
}
#slider-code .overview {
    list-style: none;
    padding: 0;
    margin: 0;
    position: absolute;
    left: 0;
    top: 0;
}
.TestingTickerText {
    vertical-align: top;
    color: #666666;
    font-family:'Open Sans', "lucida grande", tahoma, verdana, arial, sans-serif;
    font-size: 10px;
}
#slider-code .overview li {
    float: left;
    margin: 0 20px 0 0;
    padding: 1px;
    height: 65px;
    width: 105px;
    left: 0;
}
#slider-code .pager {
    overflow:hidden;
    list-style: none;
    clear: both;
    margin: 0 0 0 45px;
}
#slider-code .pager li {
    float: left;
}
#slider-code .pagenum {
    text-decoration: none;
    text-align: center;
    padding: 5px;
    color: #555555;
    font-size: 14px;
    font-weight: bold;
    display: block;
}
#slider-code .active {
    color: #fff;
}

该 php

<div id="slider-code">
    <div class="PrevArrow">
        <a href="#" class="prev"><img src="Link to Left Arrow"/></a>
    </div>
    <div class="viewport">
        <ul class="overview">
             <li>Item 1</li>
             <li>Item 2</li>
             <li>Item 3</li>
             etc...
        </ul>
    </div>
    <div class="NextArrow">
        <a href="#" class="next"><img src="Link to Right Arrow"/></a>
    </div>';
<center>
        <span id="TickHead" class="cat_bg2">Games Currently Testing or Releasing</span>
    </center>
</div>

jQuery

(function ($) {
    $(document).ready(function(){               
        $('#slider-code').tinycarousel({ display: 1});
    });
}(jQuery));

我认为您遇到的问题是由于图像的css定位。尝试调整边距,使它们彼此稍微远离;这样,当没有附加图像时,滑块将停止并且没有空间。如果这不是问题所在,请尝试以下操作:

1:创建一个div 并将所有滑块图像放入其中。

阿拉伯数字:为每个箭头按钮提供单独的div 和类。

3:使用 jquery 追加函数在用户单击任一按钮时将图像动态添加到滑块类。

$(document).ready(function(){
    $('.arrowbutton').click(function(){
        $('.imageslider').append('.image');
    });
});

另外,请记住在 css 中为您的图像滑块提供设置的宽度,并将溢出设置为隐藏。这应该确保没有附加的图像超出滑块,并且没有滚动条出现。