Piotr Soltys

Piotr Soltys webdeveloper,
programista, grafik

Temat: click() begginer

Witam!
Początki są trudne :P
Wymyśliłem sobie coś takiego


$('#prev').click(function(){
if($('#contenerweb').css("display")=="block"){ //jeżeli otwarty jest div zawierający galerie
if($('#project1web').css("display")=="block"){ // jeżeli zdjęcie 1 jest widoczne
$('#project2web').css("display","none"); // ukrywa zdjecie 2 - just in case :)
$('#project3web').css("display","none"); // ukrywa zdjecie 3 - just in case :)
$('#project1web').css("z-index","98"); // żeby zdjecie 1 bylo pod pojawiajacym sie zdjeciem 4
$('#project4web').css("z-index","99"); // żeby zdjecie 1 bylo pod pojawiajacym sie zdjeciem 4
$('#project4web').fadeIn(2000, function(){
$('#project1web').css("z-index","1"); // po zakonczeniu - resetuj z-index tych dwóch zdjęć
$('#project4web').css("z-index","1"); // po zakonczeniu - resetuj z-index tych dwóch zdjęć
$('#project1web').css("display","none"); // ukrycie zdjecia 1
}) }
else if($('#project2web').css("display")=="block"){
$('#project3web').css("display","none");
$('#project4web').css("display","none");
$('#project2web').css("z-index","98");
$('#project1web').css("z-index","99");
$('#project1web').fadeIn(2000, function(){
$('#project2web').css("z-index","1");
$('#project1web').css("z-index","1");
$('#project2web').css("display","none");
}) }
else if($('#project3web').css("display")=="block"){
$('#project4web').css("display","none");
$('#project1web').css("display","none");
$('#project3web').css("z-index","98");
$('#project2web').css("z-index","99");
$('#project2web').fadeIn(2000, function(){
$('#project3web').css("z-index","1");
$('#project2web').css("z-index","1");
$('#project3web').css("display","none");
}) }
else if($('#project4web').css("display")=="block"){
$('#project1web').css("display","none");
$('#project2web').css("display","none");
$('#project4web').css("z-index","98");
$('#project3web').css("z-index","99");
$('#project3web').fadeIn(2000, function(){
$('#project4web').css("z-index","1");
$('#project3web').css("z-index","1");
$('#project4web').css("display","none");
}) }
}
else{
}
})

Musicie mi wybaczyć - kod na pięć stron a działanie nijakie :)
Dopiero się uczę :P

Nie wiem czy dacie rade coś z tego wychwycić - chodzi o przewijanie zdjęć 'do tyłu' z efektem fadeIn(). Jak się poczeka z klikaniem do zakończenia fade in to wszystko jest fajnie - a jak narwaniec poklika na button'e to animacje szlak trafia :)

Da się jakoś wyłączyć $('#prev').click() na czas działania fadeIn ?

Będę wdzięczny za wszelkie sugestie odnośnie wszystkiego :P Tylko nie wysyłajcie mnie do manual'a - już próbowałem przeprowadzić konwersacje z monitorem.

Pozdrawiam
P.S. A temat to click() beginner :P
}Piotr Soltys edytował(a) ten post dnia 10.08.10 o godzinie 02:34

konto usunięte

Temat: click() begginer

Przed wywołaniem fadeIn wywołaj $('#prev').unbind("click") a w callbacku fadeIn przypisz go ponownie.

To jeśli chodzi o pytanie. Natomiast dużo poważniejszym problemem jest tutaj to, jak zaprojektowałeś tą funkcję. Wyobraź sobie, że dodajesz teraz 5 kolejnych zdjęć do galerii.. Przy 15 nie ogarniesz tego kodu i będzie on miał z pół kilometra długości.
Kod nie może być zależny od ilości zdjęć, nie hardkoduj ich numerów tylko pomyśl nad algorytmem uniwersalnym , np trzymaj gdzieś liczbę zdjęć i numer aktualnie wyświetlanego i zapakuj w funkcję która bierze to jako parametry etc.
Piotr Soltys

Piotr Soltys webdeveloper,
programista, grafik

Temat: click() begginer

Krzysztof Kawa:
Przed wywołaniem fadeIn wywołaj $('#prev').unbind("click") a w callbacku fadeIn przypisz go ponownie.

To jeśli chodzi o pytanie. Natomiast dużo poważniejszym problemem jest tutaj to, jak zaprojektowałeś tą funkcję. Wyobraź sobie, że dodajesz teraz 5 kolejnych zdjęć do galerii.. Przy 15 nie ogarniesz tego kodu i będzie on miał z pół kilometra długości.
Kod nie może być zależny od ilości zdjęć, nie hardkoduj ich numerów tylko pomyśl nad algorytmem uniwersalnym , np trzymaj gdzieś liczbę zdjęć i numer aktualnie wyświetlanego i zapakuj w funkcję która bierze to jako parametry etc.
Dzięki za odpowiedż. Właśnie myślałem że 'write less - do more' nie bardzo odnosi się do mojego przypadku :P Najpierw chciałem jednak ogarnąć minimum podstaw zanim spróbuje stworzyć coś złożonego.
unbind() << rewelacja
dzięki jeszcze raz, pozdrawiam

Następna dyskusja:

Problem z click




Wyślij zaproszenie do