Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
jQuery Slider
#1
Witam,

Mam pytanie odnośnie slidera zrobionego w jquery.
Pobrałem kod z jakiegoś przykładu i działać działa, ale chciałbym zrobić to tak, że po dojściu do końca, nie trzeba przewijać do tyłu, tylko klikając next, będą się powtarzały "opcje" od początku. Chciałbym to tak zrobić, ale nie potrafię, ponieważ jquery łyknąłem dopiero może tydzień temu. Bardzo więc proszę o porady, pewnie dla zaawansowanych nie będzie to stanowiło problemu.

Oto kod:
Kod:
$(document).ready(function() {
        var $sliders = $('.slider');
        $sliders.each(function() {
            var $current_slider = $(this);
            var $lista = $('.lista', $current_slider);
            var $li = $lista.children('li');
            if ($li.length > 3) {
                var odleglosc = $li.eq(0).outerWidth() + parseInt($li.eq(0).css('margin-left')) + parseInt($li.eq(0).css('margin-right'));
                var maxLeft = odleglosc * $li.length - 3 * odleglosc;
                $('.next', $current_slider).click(function() {
                    if ($lista.position().left > -maxLeft) {
                        $($lista).not(':animated').animate({
                            'left' : '-=' + odleglosc
                        },500);
                    }
                });
                $('.prev', $current_slider).click(function() {
                    if ($lista.position().left<0) {
                        $($lista).not(':animated').animate({
                            'left' : '+=' + odleglosc
                        },500);
                    }
                });
            } else {
                $('.next, .prev', $current_slider).click(function() {
                    $(this).preventDefault();
                    return false;
                });
            }
        });
    });
Odpowiedz
#2
if ($lista.position().left > -maxLeft) {
$($lista).not(':animated').animate({
'left' : '-=' + odleglosc
},500);
}

na

if ($lista.position().left > -maxLeft) {
$($lista).not(':animated').animate({
'left' : '-=' + odleglosc
},500);
} else {
$($lista).not(':animated').animate({'left':0},500);
}

a jak to ci nie wystarczy to infinite carusel:
http://doman.art.pl/kursjs/kurs/jquery/plugin.html
Odpowiedz
#3
Wielkie dzięki!
Odpowiedz


Podobne wątki…
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Slider w JS Xaoo 1 3,169 06-04-2017, 19:47
Ostatni post: luterjox
Sad HTML/CSS/JQUERY - Potrzebuje pomocy / Bezradność jokerblitzz 10 10,229 28-04-2016, 00:24
Ostatni post: mubi
  jquery? mordrag 0 2,337 29-03-2015, 17:44
Ostatni post: mordrag
  aby funkcja JQuery zadzialala po okreslonym czasie Arnimarl 2 3,823 25-05-2014, 07:38
Ostatni post: Arnimarl
  Slider na blogspota niedzwiedzthegamer 0 2,351 11-04-2014, 23:36
Ostatni post: niedzwiedzthegamer

Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości
Sponsorzy i przyjaciele
SeoHost.pl