![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 195 Pomógł: 0 Dołączył: 29.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
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ć...
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 869 Pomógł: 53 Dołączył: 20.10.2003 Skąd: Przeworsk Ostrzeżenie: (0%) ![]() ![]() |
Sprecyzuj, czy chcesz aby pomóc ci w rozwiązaniu problemu, czy oczekujesz od nas gotowca. Na razie wychodzi na to drugie.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 195 Pomógł: 0 Dołączył: 29.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
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 ? |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 869 Pomógł: 53 Dołączył: 20.10.2003 Skąd: Przeworsk Ostrzeżenie: (0%) ![]() ![]() |
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. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 2 592 Pomógł: 445 Dołączył: 12.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
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:) |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 332 Pomógł: 294 Dołączył: 12.10.2008 Skąd: Olkusz Ostrzeżenie: (0%) ![]() ![]() |
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ć (IMG:style_emoticons/default/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 (IMG:style_emoticons/default/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 (IMG:style_emoticons/default/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] |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 2 592 Pomógł: 445 Dołączył: 12.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
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:
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 (IMG:style_emoticons/default/winksmiley.jpg) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 05:09 |