Ползунок с непрерывной прокруткой в ​​одном направлении с использованием jquery

Я использую jquery Tiny Carousel для скользящих изображений, но наш клиент запрашивает непрерывную прокрутку в том же направлении, в котором я ищу это в течение дня, и я не могу найти точную вещь ... Кто-нибудь здесь сталкивался с этим?

Теперь я использую этот плагин для крошечной карусели.

<script type="text/javascript">
          jQuery(document).ready(function () {
          jQuery("#slider").tinycarousel({ axis: 'x', display: 1, interval: true })
         });
</script>

и я обнаружил, что с этим зацикливание невозможно. Кто-нибудь знает, как это зациклить? или укажите мне другой элемент управления слайдером jquery....


person Krish    schedule 23.03.2012    source источник
comment
То же направление означает, что вы хотите отключить прокрутку в другом направлении?   -  person Selvaraj M A    schedule 23.03.2012
comment
да прокрутка как слева направо с постоянной скоростью   -  person Krish    schedule 23.03.2012
comment
Вы собираетесь иметь бесконечные изображения? что, если вы дойдете до последнего изображения?   -  person codef0rmer    schedule 23.03.2012
comment
Будем признательны, если вы поделитесь с нами кодом?   -  person codef0rmer    schedule 23.03.2012
comment
@RokoC.Buljan: да, бесконечный цикл   -  person Krish    schedule 23.03.2012
comment
попробуй http://jquerytools.org/demos/scrollable/plugins.html#autoscroll   -  person Ohgodwhy    schedule 23.03.2012


Ответы (8)


я сделаю это

в jquery.tinycarousel.js Найдите функцию initialize() и замените

iSteps = Math.max(1, Math.ceil(oPages.length / options.display) - iLeftover); 

с участием

iSteps = 9999999999999999999999999;

ИЛИ в jquery.tinycarousel.min.js Найдите

u=Math.max(1,Math.ceil(k.length/e.display)-x);

и заменить на u = 9999999999999999999999999;

потом

поместите этот код в готовый документ

    $('#slider1').tinycarousel({'display':3});  
    var SliderLength = $('#slider1 .viewport li').length;//set li or img or what ever
    var append = $('#slider1 .viewport > ul').html();//grab the curent items
    $('.buttons.next').mouseup(function()
    {//next button click event
        $('#slider1 ul').append(append);//append those item 

        var sliderWidth = parseInt($('#slider1 .overview').width());
        var curLength = parseInt($('#slider1 li').length);
        $('#slider1 .overview').width((sliderWidth * (curLength / SliderLength) ));//update content width
    });

Демо

person h0mayun    schedule 28.12.2013

Вот демонстрация с использованием подключаемого модуля jQuery.carouFredSel.

HTML

<div id="wrapper">
    <div id="carousel">
        <div>
            <img src="img/fruit1.png" alt="fruit1" width="200" height="200" />
            <span>Apple</span>
        </div>
        <div>
            <img src="img/fruit2.png" alt="fruit2" width="200" height="200" />
            <span>Mandarin</span>
        </div>
        <div>
            <img src="img/fruit3.png" alt="fruit3" width="200" height="200" />
            <span>Banannas</span>
        </div>
        <div>
            <img src="img/fruit4.png" alt="fruit4" width="200" height="200" />
            <span>Cherries</span>
        </div>
        <div>
            <img src="img/fruit5.png" alt="fruit5" width="200" height="200" />
            <span>Orange</span>
        </div>
        <div>
            <img src="img/fruit6.png" alt="fruit6" width="200" height="200" />
            <span>Melon</span>
        </div>
        <div>
            <img src="img/fruit7.png" alt="fruit7" width="200" height="200" />
            <span>Lemon</span>
        </div>
        <div>
            <img src="img/fruit8.png" alt="fruit8" width="200" height="200" />
            <span>Grapes</span>
        </div>
        <div>
            <img src="img/fruit9.png" alt="fruit9" width="200" height="200" />
            <span>Peach</span>
        </div>
        <div>
            <img src="img/fruit10.png" alt="fruit10" width="200" height="200" />
            <span>Pear</span>
        </div>
        <div>
            <img src="img/fruit11.png" alt="fruit11" width="200" height="200" />
            <span>Strawberry</span>
        </div>
        <div>
            <img src="img/fruit12.png" alt="fruit12" width="200" height="200" />
            <span>Melon</span>
        </div>
    </div>
</div>

JavaScript

$(function() {

    var $c = $('#carousel'),
        $w = $(window);

    $c.carouFredSel({
        align: false,
        items: 10,
        scroll: {
            items: 1,
            duration: 2000,
            timeoutDuration: 0,
            easing: 'linear',
            pauseOnHover: 'immediate'
        }
    });


    $w.bind('resize.example', function() {
        var nw = $w.width();
        if (nw < 990) {
            nw = 990;
        }

        $c.width(nw * 3);
        $c.parent().width(nw);

    }).trigger('resize.example');

});

CSS

html, body {
    height: 100%;
    padding: 0;
    margin: 0;
}
body {
    background-color: #eee;
    position: relative;
    min-height: 300px;
}
body * {
    font-family: Arial, Geneva, SunSans-Regular, sans-serif;
    font-size: 14px;
    color: #333;
    line-height: 22px;
}

#wrapper {
    background-color: #fff;
    border-top: 1px solid #ccc;
    width: 100%;
    height: 50%;
    margin-top: -1px;
    position: absolute;
    left: 0;
    top: 50%;
}
#carousel {
    margin-top: -100px;
}
#carousel div {
    text-align: center;
    width: 200px;
    height: 250px;
    float: left;
    position: relative;
}
#carousel div img {
    border: none;
}
#carousel div span {
    display: none;
}
#carousel div:hover span {
    background-color: #333;
    color: #fff;
    font-family: Arial, Geneva, SunSans-Regular, sans-serif;
    font-size: 14px;
    line-height: 22px;
    display: inline-block;
    width: 100px;
    padding: 2px 0;
    margin: 0 0 0 -50px;
    position: absolute;
    bottom: 30px;
    left: 50%;
    border-radius: 3px;
}
person Abram    schedule 17.05.2014

Попробуй это

$(function(){

var current = 1;
var totalImages = $("#slider-code li").size();
var oSlider = $('#slider-code').tinycarousel({        
    animation:false,
    controls: false
});

$('#nextButton').click(function(){
     current += 1;
    if(current > totalImages){
     current = 1;   
    }
     oSlider.tinycarousel_move(current);          
});

});​

а вот демо в jsfiddler

person suhair    schedule 23.03.2012
comment
Я вижу скрипку, когда отображаются все изображения с правой стороны, она снова прокручивается слева и идет в правильном направлении .... как-нибудь сделать это зацикленным ...? - person Krish; 23.03.2012
comment
@krish, что ты имеешь в виду под циклом? Вы имели в виду, что при показе первого набора изображений набор должен отображаться в обратном направлении? - person suhair; 23.03.2012
comment
: я имею в виду, что они должны двигаться в том же направлении, как 1->2->3->4->1->2->3... и так далее - person Krish; 23.03.2012
comment
@krish в демо так движется. - person suhair; 23.03.2012
comment
@suhair. Я НЕ двигаюсь. "прыгает" ;) - person Roko C. Buljan; 23.03.2012

Это то, что я закодировал в ситуации, подобной вашей. Это прокручивается вверх, но вы можете легко изменить его для прокрутки в любом направлении. Измените алгоритм модификации marginTop на:

  • marginTop увеличивается на 1, для прокрутки вверх и вниз
  • marginLeft увеличить на 1, для прокрутки слева направо
  • marginLeft уменьшить на 1, для прокрутки справа налево

    (function($)
    {
        var ScrollMe = function(element)
    {
           var elem = $(element);
           var obj = this;
    
           elem.wrapInner("<div class='mbui_scrollable'></div>");
           var scr=elem.children("div.mbui_scrollable");
    
           setInterval($(this).scrollUp,130); //CHANGE HERE FOR SPEED
       };
       $.fn.scrollme = function()
       {
           return this.each(function()
           {
               var element = $(this);
               // Return early if this element already has a plugin instance
               if (element.data('scrollme')) return;
               // pass options to plugin constructor
               var myplugin = new ScrollMe(this);
               // Store plugin object in this element's data
               element.data('scrollme', myplugin);
           });
       };
       $.fn.scrollUp = function(elem)
       {
            var allObj=$(".mbui_scrollable");
            for(i=0;i<allObj.length;i++)
            var s=$(allObj[i]).css('marginTop');
                var n=parseInt(s)-1;            //CHANGE HERE TO CHANGE DIRECTION AND SPEED
                var h=$(allObj[i]).css('height');
                if((n*-1)>=parseInt(h))
                    n=$(allObj[i]).parent().css('height');
                $(allObj[i]).css('marginTop',n);
       };})(jQuery);
    

Применить к таким элементам, как:

$(".scroll").scrollme();
person kishu27    schedule 23.03.2012

Для веб-сайта моего приложения для iPhone (niwuzzles.com) я использовал подключаемый модуль jQuery EasySlider от Alen Grakalic.

Описание проекта:
http://cssglobe.com/post/5780/easy-slider-17-numeric-navigation-jquery-slider

Непрерывная демонстрация слайдов:
http://cssglobe.com/lab/easyslider1.7/01.html

Пример кода:

<head>
    <script type="text/javascript" src="js/jquery.js"></script>
    <script type="text/javascript" src="js/easySlider1.7.js"></script>
    <script type="text/javascript">
        $(document).ready(function(){   
            $("#slider").easySlider({
                auto: true, 
                continuous: true
            });
        }); 
    </script>
</head>
<body>
    <div id="slider">
            <ul>                
                <li><img src="img1.png" /></li>
                <li><img src="img2.png" /></li>
                <li><img src="img3.png" /></li>
                <li><img src="img4.png" /></li>
            </ul>
        </div>
</body>
person Dan Carlson    schedule 23.03.2012

Я внес некоторые изменения в Tiny Carousel, чтобы добавить зацикливание. Я только что понял кое-что из функции скольжения по времени.

http://pastebin.com/3M3akv9r

person Xynyn    schedule 28.07.2012

я думаю, это должно сработать

$('#slider1').tinycarousel({start: 2,
         interval: true 
        });
person Ajit Bhandari    schedule 19.12.2013

Наконец я нашел слайдер здесь

http://javascript.about.com/library/blcmarquee1.htm

person Krish    schedule 28.03.2012