Dopiero zaczynam zabawę programowaniem, a wybrałem na to JavaScript. Po zapoznaniu się z podstawowymi zasadami tworzenia czegokolwiek w tym języku chcę również poznać "gotowca" jakim jest framework jQuery. Jednakże dopadł mnie brak praktyki i po usiłowaniu stworzenia galerii na stronie opartej na identycznym kodzie html i css i sposobie animacji w JQ jednakże działających niezależnie względem siebie otrzymuje problem nie do przeskoczenia na moim poziomie. Próbowałem wprowadzać dodatkowe klasy pomocnicze w JS/JQ do już oklasowanych wcześniej elementów i mimo to nie chcą się dodać, próbowałem operować na położeniu obiektów w DOM ale i to odmówiło mi posłuszeństwa. Domyślam się, że zmiana klas strzałek to konieczność no ale tutaj właśnie jest moje zapytanie. Jak przerobić mój kod podany poniżej tak aby te galerie oparte były na tym samym kodzie animacji i hmtl ale pracowały niezależnie względem siebie? zależy mi na nie zmienianiu czystego html, a ewentualnej przeróbce tego kodu w JS/JQ.
div.gal-container { position: relative; margin: 0 auto; width: 948px; height: 236px; } /* maskowanie lini zdjęć */ div.window { position: absolute; overflow: hidden; left: 48px; width: 850px; height: 236px; } /* linia zdjęć */ ul.gal { position: absolute; height: 236px; width: 10000px; left: -40px; /* omijanie CSS3 na margin-left dla gal-item*/ /* przesuwanie */ } li.gal-item img { display: block; margin-left: 40px; float: left; } div.arow-left { display: block; width: 38px; height: 236px; background: url(images/arrow-l.png) no-repeat; float: left; margin: 0; padding: 0; } div.arow-right { display: block; width: 38px; height: 236px; background: url(images/arrow-r.png) no-repeat; float: right; margin: 0; padding: 0; } div.gal-sep { width: 1200px; height: 96px; background: url(images/gal-sep.jpg) no-repeat; clear: both; margin: 0 auto; }
$(document).ready(function() { var $galeria = $('.gal-container'); var $liniaobrazkow = $('ul.gal'); var $lewy = $('.arow-left'); var $prawy = $('.arow-right'); var przesun = 0; $prawy.click( function(){ if(przesun > -1800 ) { przesun -=900; $liniaobrazkow.animate({ left: -40 + przesun }) } } ); $lewy.click( function(){ if (przesun<0) { przesun +=900; $liniaobrazkow.animate({ left: -40 + przesun }) } } ); });
PS: Temat pewnie przewija się od czasów wynalezienia koła ale mój mózg już nie potrafi wymyślić odpowiedniego zapytania w opcji "szukaj". Przepraszam z góry i jeśli temat juz był byłbym wdzięczny za odsyłacz.
Pozdrawiam,
-Moodey