karuzela w jquery

0

Witam, mam liste w htmlu gdzie blokowo ustawione sa divy i tak po kliknięciu na ten wyżej/niżej wskakuje on na środkowe miejsce. Nie umiem js w związku z czym korzystam z gotowego skryptu tinycarousel. Wyglada to tak:

http://jsfiddle.net/dUMb8/

Chciałbym aby ZAWSZE pierwszy i trzeci WIDOCZNY element miał inny padding oraz inne wysokości niż element znajdujący sie w środku. Jak to zrobic ? CSS nic nie daje, ustawiam style dla pierwszego elementu listy i dziala tylko na poczatku, potem kazdy inny element ktory 'wpada' w to miejsce nie ma juz paddingow. Zreszta widac to na fiddlu.

Inna dziwną rzeczą jest to, że ten skrypt dziwnie kopiuje elementy listy. To znaczy mam w html 3, a na stronie sa 4.

0

spróbuj z filtrem :odd lub :even np.
$( "li" ).filter( ":even" ).css( );

1

metoda cougara nie zadziala, bo elementy nie zamieniaja sie miejscami przy kazdym przesunieciu.
skrypt dziala tak:

  • trzy elementy sa oryginalne i trzy sa skopiowane zeby zrobic wrazenie niekonczacej sie petli.
  • jak klikniemy w dol to skrypt przesuwa elementy do gory, az do momentu gdy napotka ostatni i wtedy nasetpuje operacja kopiowania trzech gornych na dol i przewijania dalej.

wiec jedyne wyjscie jakie jest to obliczac ktory element jest wyswietlany na podstawie marginesu od gornej belki i wtedy. jak juz mamy element biezacy to wtedy element poprzedni mozemy zmienic css i element nastepny.

a jeszcze prosciej to sprawdzic w dokumentacji czy skryot ten posiada callback z informacja jaki element jest aktywny obecnie i wtedy nie musimy nic oblcizac.

PS. id musza byc unikalne, wiec wszedzie nie moze byc id="reference"

0

Niestety nie umiem tego zrobić. Może ktos posiada slider, który potrafi nadsawać styl tylko dla aktywnego elementu ? Próbowałem 'jCarouselLite' , ale tam elementem aktywnym jest zawsze element z góry listy, a mi chodzi o środkowy :)

Dodałem również ogłoszenie w dziale zlecenia drobne, jeśli ktoś za opłata chciałby to zrobic za mnie.

1

eh eh eh, umiesz oj umiesz. pomysl ze jestes zamkniety w ciemnym, wilgotnym i nieprzyjemnym pomieszczeniu. przed toba stoi komputer z otwartym fiddlem tym co masz tu, no i albo rozkminisz i wychodzisz, albo olewasz i umierasz.

a teraz na powaznie. plugin jquery jest rozpakowany, czyli latwo jest go obejrzec, zobaczyc jak dziala i cos ew. wstrzyknac. jest tam kilka metod a ta nas interesujaca to "this.move" (zapewne odpala sie jak slajd sie porusza:)), to tam mozna wrzucic kod ktory z listy slajdow

$overview.children()

znajdzie ten ktory jest pierwszy widoczny

$overview.children().eq(slideIndex)

i nastepnemu nada jakas klase po ktrej potem go ostylujesz

$overview.children().eq(slideIndex).next().addClass("superUberActive");

jeszcze tylko przed tym usun wczesniej nadana klase w kolejnych "kliknieciach" za pomoca:

$overview.children().removeClass("superUberActive");

teraz tylko w css ustaw te marginesy i popraw wysokosci.
i teraz tylko sprawdz czy efekt przeskakiwania cie zadowala, bo moze dziwnie wygladac plynna animacja w przesuwaniu bloczkow i skakanie w nadawaniu styli:)

1 użytkowników online, w tym zalogowanych: 0, gości: 1