![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 999 Pomógł: 30 Dołączył: 14.01.2007 Skąd: wiesz ? Ostrzeżenie: (0%) ![]() ![]() |
Cześć,
Kod this.goToNextSlides = function() Funkcja za każdym razem operuje na tych samych elementach mimo, że przenosze je na jej koniec. Jak zresetować ich ( hmmm ) wskaźniki?{ for($i = 0; $i < $ths.getVisibleSlidesAmount(); $i++) { console.log($i + ' : ' + $('.title', $Opts.Slides.get($i)).html()); $Slide = $($Opts.Slides.get($i)); $SlideClone = $Slide.clone(); $Slide.remove(); $Opts.SlidesContainer.append($SlideClone); } } Cytat slideshow.js:32 0 : Tytuł 1 slideshow.js:32 1 : Tytuł 2 slideshow.js:32 2 : Tytuł 3 slideshow.js:32 3 : Tytuł 4 slideshow.js:32 0 : Tytuł 1 slideshow.js:32 1 : Tytuł 2 slideshow.js:32 2 : Tytuł 3 slideshow.js:32 3 : Tytuł 1 A powinno być Cytat slideshow.js:32 0 : Tytuł 1
slideshow.js:32 1 : Tytuł 2 slideshow.js:32 2 : Tytuł 3 slideshow.js:32 3 : Tytuł 4 slideshow.js:32 0 : Tytuł 5 slideshow.js:32 1 : Tytuł 6 slideshow.js:32 2 : Tytuł 7 slideshow.js:32 3 : Tytuł 8 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Ale nie wiemy co robi reszta twoich metod w kodzie, więc co możemy powiedzieć?
-------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 999 Pomógł: 30 Dołączył: 14.01.2007 Skąd: wiesz ? Ostrzeżenie: (0%) ![]() ![]() |
Jakby miały one jakiekolwiek znaczenie to bym je podał, ale niech będzie.
Kod (function($) { $.fn.slideshow = function($Options) { var $ths = this, $Defs = {Prev : $('.prev', this), Next : $('.next', this), Slides : $('.slides ul li', this), SlidesContainer : $('.slides ul', this), Display : $('.slides', this), bAnimating : false}; $Defs.iSlideWidth = parseInt($Defs.Slides.first().width(), 10); $Defs.iSlideMarginL = parseInt($Defs.Slides.first().css('margin-left'), 10); $Defs.iSlideMarginR = parseInt($Defs.Slides.first().css('margin-right'), 10); $Defs.iDisplayWidth = parseInt($Defs.Display.first().width(), 10); var $Opts = $.extend($Defs, $Options); this.getVisibleSlidesAmount = function() {return Math.floor($Opts.iDisplayWidth / ($Opts.iSlideMarginL + $Opts.iSlideMarginR + $Opts.iSlideWidth));} this.getHiddenSlidesAmountLeft = function(){return Math.floor(parseInt($Opts.SlidesContainer.css('left'), 10) / ($Opts.iSlideMarginL + $Opts.iSlideMarginR + $Opts.iSlideWidth));} this.getHiddenSlidesAmountRight = function(){return $Opts.Slides.length - (this.getVisibleSlidesAmount() + this.getHiddenSlidesAmountLeft());} $Opts.iWidthDisplayedSlides = ($Opts.iSlideMarginL + $Opts.iSlideMarginR + $Opts.iSlideWidth) * $ths.getVisibleSlidesAmount(); this.goToPrevSlides = function() { alert('prev'); } this.goToNextSlides = function() { for($i = 0; $i < $ths.getVisibleSlidesAmount(); $i++) { console.log($i + ' : ' + $('.title', $Opts.Slides.get($i)).html()); $Slide = $($Opts.Slides.get($i)); $SlideClone = $Slide.clone(); $Slide.remove(); $Opts.SlidesContainer.append($SlideClone); } } $Opts.Prev.click(this.goToPrevSlides); $Opts.Next.click(this.goToNextSlides); return this; } })(jQuery); edit: Dobra już doszedłem do tego na czym mój błąd polegał. Pobieram $i za każdym razem nawet jak już zmieniłem kolejność. Ten post edytował starach 23.06.2011, 13:26:41 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Powiedz mi, dlaczego (i jak) metoda $Opts.Slides.get($i) ma się domyślić, że raz dla parametru 0 ma zwrócić "Tytuł 1" a raz "Tytuł 5"?
Z tego wynika jasno, że masz źle napisany kod (w którym miejscu nie wiem, nie wnikam, bo nie wiem co to ma dokładnie robić). -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 29.06.2025 - 21:52 |