Avatar
mkores.mk
Člen
Avatar
mkores.mk:

Ahoj,

měl bych dotaz ohledně náhodně generovaných obrázků na web. Mám udělaný web podle zdejších tutoriálů.

Mám tam galerii, která se otevírá přes lightbox a chtěl bych se zeptat, zda by bylo těžké (popř. poradit jak) vytvoření jednoduchého, náhodně generovaného obrázku na index.
Tzn. každému uživateli, který by přišel na web by se zobrazil malý náhled nějaké fotografie s tím, že když by na ní kliknul, byl by to odkaz na fotogalerii.

Doufám že mě chápete :) s HTML a CSS se začínám teprve učit, tak v tom ještě nejsem tak zběhlý, díky

 
Odpovědět 19.5.2014 19:51
Avatar
raito
Člen
Avatar
raito:

Čistě HTML? Pochybuju, buď server script (např. PHP) nebo javascript. A záleží na tom, co myslíš "náhodně generovaného obrázku" ... to chceš aby ten web vyrobil nějaký obrázek nebo to bylo myšleno tak, že náhodně vybere nějaký z uložených na FTP?

Nahoru Odpovědět 22.5.2014 0:29
Asi sem usnul. Co se dělo posledních... 5 let?
Avatar
Honza Bittner
Redaktor
Avatar
Odpovídá na mkores.mk
Honza Bittner:

Toto je záležitost programování, HTML ani CSS nejsou programovací jazyky, tudíž to musíš udělat pomocí JS a PHP.

Například v JS by šly jednoduše přeházet přešoupnutím na náhodný index... ;)

Nahoru Odpovědět  +1 22.5.2014 0:43
Ptejte se mě na cokoli na https://github.com/HoBi/ama a followujte mě na Twitteru https://twitter.com/tenhobi. :-)
Avatar
mkub
Redaktor
Avatar
Odpovídá na mkores.mk
mkub:

a v PHP zase by sli ukladat do databaze a potom ich nacitavat nahodne do stranky...

jednoducho na nahodny vyber obrazkov nepouzivaj HTML, ani CSS, HTML+CSS je iba na zobrazenie a designovu upravu vyslednej stranky, nie na lubovolnu manipulaciu s obrazkami, na to su ine jazyky

 
Nahoru Odpovědět 22.5.2014 6:48
Avatar
vojta.stanek
Člen
Avatar
vojta.stanek:

Nebo v PHP je mít v jedné složce, načíst jména do array (funkce scandir), zjistit počet (funkce count) a potom vygenerovat náhodný index v danném rozsahu a ověřit zda-li je to obrázek:

<?php
$files = glob('images/');
do {
$fileName = $files[rand(0, count($files)-1)];
} while(!preg_match('/[^.]+.jpeg/', $fileName))
echo '<img src="'.$fileName.'"/>';
?>
Editováno 25.5.2014 23:16
 
Nahoru Odpovědět 25.5.2014 23:16
Avatar
mkores.mk
Člen
Avatar
mkores.mk:

Jasně, chápu že tohle v CSS + HTML nevytvořím, proto jsem to hodil do fóra o PHP :) spíš jsem chtěl říci, že s ním nemám žádné zkušenosti.

Představuji si to takto: Rámeček, ve kterém bude náhodný obrázek, bude sloužit jako odkaz do fotogalerie. Obrázky se z databáze načítat nebudou (nemám taky žádné zkušenosti), ale budou se načítat ze zvláštní složky, ve kterém budou umístěny náhledy na ně. Při každém refreshy (nebo při přechodu na jinou stránku) se obrázek změní.

vojta.stanek: ten tvůj kód, je myšlený tak, jak výše píšu?

 
Nahoru Odpovědět 31.5.2014 12:33
Avatar
mkores.mk
Člen
Avatar
mkores.mk:

BTW

Našel jsem na internetu tento skript, myslíte že je použitelný?

function random_imglink(){
    var myimages=new Array()
    //specify random images below. You can have as many as you wish
    myimages[1]="image1.gif"
    myimages[2]="image2.gif"
    myimages[3]="image3.gif"
    myimages[4]="image4.gif"
    myimages[5]="image5.gif"
    myimages[6]="image6.gif"

    var ry=Math.floor(Math.random()*myimages.length)
    if (ry==0)
    ry=1
    document.write('<img src="'+myimages[ry]+'" border=0>')
    }
    random_imglink()
Editováno 31.5.2014 12:49
 
Nahoru Odpovědět 31.5.2014 12:48
Avatar
Marek Z.
Redaktor
Avatar
Marek Z.:

Řešil bych to asi takto:

Vycházím z toho, že obrázky mají názvy z čísel, které jdou po sobě:

1.png, 2.png, atd..

<?php
    $imgname = rand(1, 10); //druhé číslo nahraď tím, které je u tebe poslední
    $img = './images/ ' . $imgname . ' .jpg';
    echo '<img src=" ' . $img . ' ">';
?>

Možností je více.. :)

Nahoru Odpovědět 31.5.2014 20:19
Chybami se člověk učí, běžte se učit jinam!
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 8 zpráv z 8.