Opisy w galerii
Opisy slajdów prezentowanych w galerii można wyświetlać w oparciu o dwa rozwiązania.
- Rozwiązanie pierwsze polega na wykorzystaniu wbudowanego w galerię pola tekstowego oraz wyświetlaniu w nim opisów przypisanych do poszczególnych slajdów.
- Rozwiązanie drugie polega na wykorzystaniu funkcji wywoływanej zwrotnie informującej aplikację o numerze wyświetlanego slajdu. Na podstawie tej informacji aplikacja stosująca galerię może w dowolny sposób, w dowolnym miejscu wyświetlić opis prezentowanego slajdu.
- Opisy wyświetlane w oparciu o wbudowane pole tekstowe ^
Aby zapoznać się z tym rozwiązaniem przygotujmy plik
images_txt_1.js jak niżej (szczegółowy opis budowy tego pliku znajdziesz na stronie
Lista slajdów):
(1)function VG_images(){
this.tab=Array(
"ver_pl_1.png | ver_en_1.png;;;Slajd 1<br>opis polski | Slide 1<br>English description",
"ver_pl_2.png | ver_en_2.png;;;Slajd 2<br>opis polski | Slide 2<br>English description",
"ver_pl_3.png | ver_en_3.png;;;Slajd 3<br>opis polski | Slide 3<br>English description"
)
}
Aby uruchomić ten przykład przygotujemy również plik
config_txt_1.js, w którym wskażemy przygotowany plik
images_txt_1.js oraz uaktywnimy pole tekstowe i nadamy mu kolor (#A20016):
(2)function VG_myconfig(){
this.my_file_images="images_txt_1.js";
this.my_text_field_height=100;
this.my_text_field_color="#A20016";
}
Poniższe kody uruchomiają nasz przykład (zakładamy, że mamy na stronie div-a o id='gal') w dwóch wersjach językowych:
(3)
new VG_start(document.getElementById('gal'), 'config_txt_1.js', 0);
(4)
new VG_start(document.getElementById('gal'), 'config_txt_1.js', 1);
Kliknij kod
(3) i
(4).
Zauważ, że pierwszy wiersz opisu jest mniejszy od drugiego. Jest tak dlatego, ponieważ domyślnym stylem, który jest stosowany do wyświetlenia opisu jest styl
vg_text, a w domyślnej konfiguracji jest on skonfigurowany następująco:
(5).vg_text{
transition:opacity 0.5s;
opacity:0;
width:100%;
text-align:center;
color:#AAAAAA;
font-size:19px;
font-family:Tahoma;
line-height:26px;
}
.vg_text::first-line{
font-size:15px;
}
Aby zmienić styl wyświetlanego tekstu można nadpisać parametry w pokazanym wyżej stylu lub stworzyć własny. Np.:
(6).my_vg_text{
transition:opacity 0.5s;
opacity:0;
width:100%;
text-align:left;
color:#000000;
font-size:25px;
font-family:Tahoma;
line-height:26px;
}
Styl ten należy zapisać (dodać) do pliku
vg.css znajdującego się w katalogu
vg_data, a następnie dodać jego nazwę do pliku konfiguracyjnego:
(7)function VG_myconfig(){
this.my_file_images="images_txt_1.js";
this.my_text_field_height=100;
this.my_text_field_color="#A20016";
this.my_text_field_class="my_vg_text";
}
Efekty zobaczysz klikając wersję
polską lub
angielską galerii.
Wartość
this.my_text_field_height=100; podana w pliku konfiguracyjnym oznacza wysokość pola tekstowego w pikselach. Pole będzie dodane pod oknem z galerią. Wysokość pola jest stała i nie zależy od wysokości całej galerii (zawsze wynosi 100 pikseli).
Możesz podać wartość mniejszą od 1. Wtedy wartość ta będzie traktowana jak procent wysokości okna z galerią, np.:
(8)function VG_myconfig(){
this.my_file_images="images_txt_1.js";
this.my_text_field_height=0.2;
this.my_text_field_color="#A20016";
}
oznacza, że wysokość pola tekstowego będzie wynosiła 20% wysokości całej galerii.
Kliknij jedną z wersji:
polską lub
angielską i zmieniaj wielkość okna przeglądarki.
Zaobserwuj zmiany wysokości pola tekstowego.
Możesz też podać wartość mniejszą od 0. Wtedy pole tekstowe zostanie nałożone na okno z galerią (np. wartość
-0.8 oznacza, że pole tekstowe
będzie miało wysokość równą 80% wysokości okna z galerią liczone od dolnej krawędzi, czyli górna krawędź napisów będzie na wysokości 20% okna galerii.
W tym rozwiązaniu kolor tła pola tekstowego nie ma znaczenia. Pole tekstowe jest wyświetlane zawsze z przeźroczystym tłem:
(9)function VG_myconfig(){
this.my_file_images="images_txt_1.js";
this.my_text_field_height= -0.8;
}
Przetestuj jedną (lub obie) wersje:
polską lub
angielską.
W tym rozwiązaniu masz wpływ na kolor i wielkość pola tekstowego poprzez style css. Zdefiniuj np. następujący styl:
(10).my_vg_text_pos{
background-color:rgba(0,200,0,0.5);
padding:20px;
position:relative;
left:100px;
height:80px!important;
width:260px!important;
}
i dodaj go do już ustalonego stylu:
(11)function VG_myconfig(){
this.my_file_images="images_txt_1.js";
this.my_text_field_height= -0.8;
this.my_text_field_class="my_vg_text my_vg_text_pos";
}
a następnie zobacz efekty (
wersja polska,
wersja angielska).
We wszystkich dotychczas prezentowanych przykładach opisy slajdów znajdowały się w pliku
images.js. Możesz jednak utworzyć specjalny plik z opisami wg następującej składni:
(12)function VG_texts(){
this.texts=new Array(
"Slajd nr 1 <a href=\"https://3n.com.pl\">odnośnik w opisie</a> | Slide no 1<a href=\"https://3n.com.pl\">link in description</a>",
"Slajd nr 2 | Slide no 2"
);
}
Zwróć uwagę, aby po ostatnim opisie nie zamieszczać przecinka. Plik ten nazwiemy
texts_1.js i przypniemy go do naszego pliku konfiguracyjnego:
(13)function VG_myconfig(){
this.my_file_images="images_txt_1.js";
this.my_file_texts="texts_1.js";
this.my_file_texts_charset="iso-8859-2";
this.my_text_field_height= -0.8;
this.my_text_field_class="my_vg_text my_vg_text_pos";
}
Jeśli plik z opisami ma inne kodowanie polskich liter niż utf-8, w pliku konfiguracyjnym trzeba dodać wpis
this.my_file_texts_charset="strona kodowa".
Zobacz efekty (
wersja polska,
wersja angielska).
Opisy zawarte w pliku
texts.js mają wyższy priorytet od opisów zawartych w pliku
images.js i je nadpisują.
- Opisy wyświetlane w oparciu o funkcję wołaną zwrotnie ^
To rozwiązanie polega na tym, że podczas aktywowania galerii możemy jako jeden z parametrów przekazać do galerii funkcję wywoływaną zwrotnie,
która będzie informowała nas o zmianie kolejnych slajdów. W odpowiedzi na tę informację możemy w dowolny sposób modyfikować treść strony.
Kompletny działający przykład można znaleźć na stronie
Uruchamianie galerii (Funkcja
VG_start) lub w przykładowej galerii
Owoce, której kod możesz pobrać ze strony
Do pobrania.