Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript] Rotator zdjęć
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
wiciu010
Mam na serwerze katalog w którym są zapisane zdjęcia w formacie .jpg Potrzebuję skryptu ktory będzie losowo wyświetlał zdjęcia z tego katalogu i je zmieniał np. co 5 sekund. Rozumiem, że trzeba to wykonać w JS ? Może jakas pomoc jak się za to zabrać...
Kildyt
Sprecyzuj, czy chcesz aby pomóc ci w rozwiązaniu problemu, czy oczekujesz od nas gotowca. Na razie wychodzi na to drugie.
wiciu010
Cytat(Kildyt @ 4.10.2009, 13:15:15 ) *
Sprecyzuj, czy chcesz aby pomóc ci w rozwiązaniu problemu, czy oczekujesz od nas gotowca. Na razie wychodzi na to drugie.


Gdybym dostał gotowca to byłoby miło, ale pewnie go nie otrzymam więc oczekuję pomocy jak się za to zabrać. Bo nie wiem jak np. pobrać jakie pliki są w katalogu i potem je losowo wyświetlić. Nie wiem czy JS może pobrać pliki z katalogu ?
Kildyt
Nie słyszałem o tym, żeby JS pobierał zawartość katalogu, ale mogę się mylić bo nie jestem w tym języku biegły. Zawsze możesz posłużyć się PHP, a w JS napisać rotator.
Zacznij od napisania funkcji, która wylosowuje jakąś liczbę z przedziału od - do (znajdziesz w google) i nadmieni nowy baner starym. Co do powtarzalności do zastosuj setInterval i gra.
vokiel
1. Pobranie zdjęć z katalogu na serwerze - skrypt po stronie serwera - php
2. Zmiana co 5 sec - js, lub ajax

Ad. 2.
JS:
- Przy tworzeniu strony robisz tablicę dla js z elementami, które ma zmieniać, następnie funkcja w js losowo wybiera obrazek z tablicy
- Nazwy plików w katalogu jako liczby, tj.: 1.jpg, 2.jpg, w php tworzysz ograniczenia dla js, że zdjęcia mogą być od 1, do 50 (np - maksymalny licznik nazwy pliku), następnie w js losujesz liczbę z podanego przedziału, i zamieniasz obrazek.
AJAX:
- tworzysz skrypt js, który co 5 sekund odpyta skrypt php o nowe zdjęcie, skrypt php wylosuje jakieś zdjęcie z tych w katalogu i prześle jego url do js, który zamieni obrazek


Możliwości jest bardzo dużo - implementacji jeszcze więcej:)
zegarek84
Cytat(vokiel @ 4.10.2009, 14:39:14 ) *
Ad. 2.
JS:
- Przy tworzeniu strony robisz tablicę dla js z elementami, które ma zmieniać, następnie funkcja w js losowo wybiera obrazek z tablicy
- Nazwy plików w katalogu jako liczby, tj.: 1.jpg, 2.jpg, w php tworzysz ograniczenia dla js, że zdjęcia mogą być od 1, do 50

trochu ten drugi podpunkt mało moim zdaniem potrzebny ;p - skoro wcześniej poleciłeś gdzieś wrzucić tablicę dla js z elementami które ma wybierać winksmiley.jpg - czyli wcześniej jeśli duży zakres np. 200 obrazków a nie chce się całej tablicy to php wylosuje np. 30 i przekaże a potem algorytm w js losuje z tych 30 winksmiley.jpg - ale też mogą być inne kombinacje - to było wtrącenie ala te regularne nazwy które ułatwiają ale nie są konieczne winksmiley.jpg - nawet pałną listę plików dla js można bez tego zwrócić przy pomocy ajax'a lub dhtml [ale tu szkoda gadać bo to szerszy temat z dhtml]
vokiel
Drugi podpunkt jest łatwiejszy w użyciu, ale wprowadza ograniczenia. W php wystarczy sprawdzić ilość plików, i przesłać jedną informacje, ze max to np 50. Potem js robi zwykły rand w js:
[JAVASCRIPT] pobierz, plaintext
  1. function rand ( n ){
  2. return ( Math.floor ( Math.random ( ) * n + 1 ) );
  3. }
[JAVASCRIPT] pobierz, plaintext
i już możemy podmieniać url dla zdjęcia.

Ograniczeniem jest konieczność wystąpienia wszystkich plików z przedziału, nie może być tak, że będzie plik 44.jpg, 46.jpg a nie będzie 45. Bo a nóż widelec się wylosuje winksmiley.jpg


To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.