• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Losowo zmieniające się zdjęcia

VPS Starter Arubacloud
0 głosów
1,223 wizyt
pytanie zadane 22 listopada 2015 w JavaScript przez Damian13 Obywatel (1,430 p.)
<?php
			$folder = opendir('images');
			$i = 0;
			while(false !=($plik = readdir($folder))){
				if($plik != "." && $plik != "..")
				{
					$obrazki[$i]= $plik;
					$i++;
				}
			}
			closedir($folder);
			$ilosc_zdjec = count($obrazki)-1;

		    $ile_pytan = $ilosc_zdjec; //z ilu pytan losujemy?
		    $ile_wylosowac = 10; //ile pytan wylosowac?
		    $ile_juz_wylosowano = 0; //zmienna pomocnicza
		     
		    for ($i=1; $i<=$ile_wylosowac; $i++)
		    {
				do
				{
					$liczba=rand(1,$ile_pytan); //losowanie w PHP
					$losowanie_ok=true;
				 
					for ($j=1; $j<=$ile_juz_wylosowano; $j++)
					{
						//czy liczba nie zostala juz wczesniej wylosowana?
						if ($liczba==$wylosowane[$j]) $losowanie_ok=false;
					}
				 
					if ($losowanie_ok==true)
					{
						//mamy unikatowa liczbe, zapiszmy ja do tablicy
						$ile_juz_wylosowano++;
						$wylosowane[$ile_juz_wylosowano]=$liczba;
					}
				} while($losowanie_ok!=true);
		    }
			
		    echo '<ul>';
		    for ($i=1; $i<=$ile_wylosowac; $i++)
		    {
				echo '<div class="rand"><li id="img'.$i.'"><img src="images/'.$obrazki[$wylosowane[$i]].'" width="500px"></li></div>';
			}
			echo '</ul>';
		?>

Chce zrobić na stronie skrypt który pobiera zdjęcia z folderu po czym wyświetla 10 róznych. Udało mi się to zrobić w php i teraz głowie się nad javascriptem którego średnio ogarniam. Chciałbym by każde zdjęcie zmieniało się niezależnie od innych w różnym odstępie czasu. Pomysły ?

1 odpowiedź

0 głosów
odpowiedź 23 listopada 2015 przez Sprytnykrzys Gaduła (3,900 p.)
Losowanie (ogólnie liczbę zmiennolosową) osiągniesz dzięki math.random(). Funkcja zwróci Ci wartość z przedziału 0 - 1. Czyli jeśli chcesz np zmieć z przedziału 0-10 to wystarczy pomnożyć razy 10 wynik funkcji.
Dzięki tego typu zmiennej możesz losować jakie zdjęcie ma być wstawiane (losowe), i po jakim czasie (też losowe).

 

pozdr.

K.
komentarz 24 listopada 2015 przez Damian13 Obywatel (1,430 p.)
A co jest złego w rand(x,y) ?

Poza tym czytaj treść postu, a nie sam temat
komentarz 24 listopada 2015 przez Sprytnykrzys Gaduła (3,900 p.)
Przeczytałem treść. Pytałeś o javascript. Dzięki math.random() wylosujesz zarówno, które zdjęcie zmieniasz jak i po jakim czasie. Jak 10 zdjęć ma się zmieniać niezależnie? Ja bym zrobił 10 losowań czasu (po 1 dla każdego zdjęcia), po jakim się zmienią.
komentarz 27 listopada 2015 przez Damian13 Obywatel (1,430 p.)
Aha, o to Ci chodziło. Ale z tego co wiem to w js nie da się wczytać listy plików z katalogu. Da się przesłać tablice z php do js jakoś ?
komentarz 27 listopada 2015 przez Sprytnykrzys Gaduła (3,900 p.)
Nie da się, ale możesz nazwać pliki "image1" "image2" "image3" itd

I losować liczbę z przedziału, np 1-10 i wywoływać '<img src="image"' + wylosowana + '" />'

Da radę łączeniem ciągów znaków.

Podobne pytania

0 głosów
3 odpowiedzi 10,322 wizyt
0 głosów
2 odpowiedzi 358 wizyt
pytanie zadane 25 stycznia 2019 w PHP przez Grzegorz Mikina Dyskutant (8,060 p.)
0 głosów
1 odpowiedź 615 wizyt

92,455 zapytań

141,263 odpowiedzi

319,100 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...