« 1 2 »
Autor Zpráva
monte
Profil *
Ahoj, pral bych si malou drobnost, absoulutne ale netusim jak to udelat. :(
Ma predstava: Chtel bych aby muj web mohl mit vice pozadí a ty aby se náhodně měnily, např. někdo naklikne na muj web a pod strankou bude mit nejake pozadi, nekdo jiny vsak uplne jiné :) Pak příjde jindy, a bude mit zase jine pozadí, dokazal bych si to predstavit asi takhle, byl by soubor ktery by obsahoval naky scriptík a na kazde starnce bych pak na tento script odkazoval, script by pak do stranky nahodne dosadil napr. jeden z 10 ruznych tapet,
v css by v :background byla napsaná jen barva.

Pokud by byl nekdo tak hodný a dokazal poradit, popride vyhledat/napsat ten script tak mu budu velice vdecny, protoze ja absolutne nevím, mam jen predstavu :(
Díííky!! :)
panther
Profil
monte
nech se inspirovat.
monte
Profil *
yoooooooooooooo
<? 

$images = array("images/image1.gif",            
                        "images/image2.gif", 
                        "images/image3.gif", 
                        "images/image4.gif"); 
mt_srand(time()); 
$random_index = mt_rand(1, (count($images))); 
$random_index--; 

?> 

<IMG src="<? echo "$images[$random_index]" ?>" >


Toto vypada presne jako to co jsem hledal a je to i celekem srozumitelne :)
Ale, kam to mam umístit? :) Přímo do stránky ? Asi jo, že? :-D
Jiank mockrát děkuju :)
monte
Profil *
PS: ale, ted jen premyslim, bude toto opravdu pracovat s pozadim webu nebo to bude jen zobrazovat obrazky? Díky :)
panther
Profil
monte
Ale, kam to mam umístit?
neptej se tak hloupě a zkus si to. Na zeď v pokoji si to asi nenamaluješ.
panther
Profil
monte
PS: ale, ted jen premyslim, bude toto opravdu pracovat s pozadim webu nebo to bude jen zobrazovat obrazky? Díky :)
místo <img..> tam budeš mít třeba <body style="background: PHP RAND">.

Případně můžeš mít
<body id="pozadi<?php echo mt_rand(1, 10) ?>">
a v CSS definovaných 10 idček pozadi1-10 s různými backgroundy.
imploder
Profil
mt_srand(time());
Mt_srand je zbytečné, je možné volat mt_rand rovnou.
monte
Profil *
ehm,
v <head> mam tedy toto:

<? 

$images = array("images/sitebg.jpg",            
                        "bg/sitebg2.png", 
                        "bg/sitebg3.jpg", 
                        "bg/sitebg4.jpg", 
                        "bg/sitebg5.jpg", 
                        "bg/sitebg6.png", 
                        "bg/sitebg7.png", 
                        "bg/sitebg8.png", 
                        "bg/sitebg9.jpg",  
                        "bg/sitebg10.png"); 
mt_rand; 
$random_index = mt_rand(1, (count($images))); 
$random_index--; 

?> 

<body style="background: PHP RAND">


je to ok? Navíc už mi to nehazí errory.. xd
monte
Profil *
a v css mám:
#main1
{
width: 100%;
background: url(bg/sitebg.jpg) no-repeat bottom left fixed;
id: 1;

background: url(bg/sitebg2.png) no-repeat bottom left fixed;
id: 2;

background: url(bg/sitebg3.jpg) no-repeat bottom left fixed;
id: 3;

background: url(bg/sitebg4.jpg) no-repeat bottom left fixed;
id: 4;

background: url(bg/sitebg5.jpg) no-repeat bottom left fixed;
id: 5;

background: url(bg/sitebg6.png) no-repeat bottom left fixed;
id: 6;

background: url(bg/sitebg7.png) no-repeat bottom left fixed;
id: 7;

background: url(bg/sitebg8.png) no-repeat bottom left fixed;
id: 8;

background: url(bg/sitebg9.jpg) no-repeat bottom left fixed;
id: 9;

background: url(bg/sitebg10.png) no-repeat bottom left fixed;
id: 10;

padding-left: 50px;
}


Zobrazuje se mi poze to poslední pozadí (bg/sitebg10.png)
už jsem z toh blazen :-D
WanTo
Profil
Ještě aby se ti to poslední pozadí nezobrazovalo furt - v CSS platí přece to, co je napsané jako poslední. Prostě z #main1 vyhoď všechna nastavení vlastnosti background (a asi i id).
monte
Profil *
pokud odmazu bacground tak mi zmizí pozadí uplně.. ehm, prosím poraď, netusim co tam mam doplnit :( .. díky
WanTo
Profil
Proboha...

Třeba nějak takhle by to mohlo fungovat (píšu to z hlavy a rovnou upozorňuju, že jsem to netestoval):

<?php
$images = array("bg/sitebg1.png", "bg/sitebg2.png", "bg/sitebg3.png", "...");
?>
<body style="background-image: url(<?php echo $images[rand() % count($images)];?>);">
...


Mimochodem, když už to na stránky dáváš, máš nějaký rozumný důvod, proč by to tam mělo být?
monte
Profil *
No protože by to mohlo zajimavě vypadat, kliknete jinam a mate jine pozadí, :)
Pred chvili jsem zkousel javascript a při jednom pokusu to fungovalo ale stale nevim jak to dat do pozadí, jsem amater :( :)
monte
Profil *
ps: nějak to nefunguje, to co jsi psal, presto ti ale dekuju :) za snahu
WanTo
Profil
monte
A nějaké chybové hlášení to třeba nepíše? ;-) Můžu tam mít někde třeba překlep - říkám, netestoval jsem to - stejně tak může být třeba jen špatně nastavená cesta k obrázku.
monte
Profil *
tak jsem na to prisel sam, pouzitim javascriptu :)

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Náhodný obrázek v JavaScriptu</title>
<script type="text/javascript">
var obrazky = new Array("sitebg.jpg", "sitebg2.png", "sitebg3.jpg");
window.onload = function() {
document.getElementById('bg').style.backgroundImage = 'url("bg/'+obrazky[Math.round(Math.random()*(obrazky.length-1))]+'")';
}
</script>
</head>
<body>
<div id='bg' style="width:300px; height:600px"></div>
</body>

jeste to "propojit" s css a je to.
Asi to tak udelam, funguje to :)

a halseni to pise :)

Chyba značky: -> Textpattern Warning: PHP značky jsou zastaralé on line 1011

Chyba značky: -> Textpattern Warning: raw_php_disabled on line 1015
WanTo
Profil
No protože by to mohlo zajimavě vypadat, kliknete jinam a mate jine pozadí, :)
Ale taky to může vypadat naprosto děsně.

Ale jinak musím říct, že přes všechen svůj odpor k těmhle věcem jsem viděl i stránky, kde se mi proměnlivé pozadí celkem líbilo - a to web FAMU. Mají to tam pořád, tak se můžeš podívat do kódu (řešené šíleným JavaScriptem), jen jim to teďka zrovna nefunguje, někdo totiž očividně vymazal ze serveru ty obrázky (:
monte
Profil *
mozna se ti to bude libiti i u me, teda az to bude hotove :)))

no a tu je problem.

v hlavicce mam toto:

        <script type="text/javascript">
            var obrazky = new Array("sitebg.jpg", "sitebg2.png", "sitebg3.jpg");
            window.onload = function() {
                document.getElementById('bg').style.backgroundImage = 'url("bg/'+obrazky[Math.round(Math.random()*(obrazky.length-1))]+'")';
            }
        </script>


tedy sileny java script jak rikas :-D

no a toto v těle :)

<div id='bg' style="width:300px; height:600px"></div>



jenze, jak to co mám v body, vložit do css abych to v body mit nemusel, prosíím :) xD
WanTo
Profil
Člověče, seber se a běž si do knihkupectví koupit nějakou literaturu o tvorbě webu, CSS a PHP. Vždyť ty tomu ani trochu nerozumíš...

Tady máš JavaScriptový kód. Jednoduchý jak facka, funguje to, testoval jsem to. (Obrázky jsem vyhrabal z Googlu.)
<html>
<head>
    <title>Nahodne pozadi</title>
</head>
<body>
    <script type="text/javascript">
    var images = new Array(
            "http://www.hudebni-scena.cz/downloads/wallpapers/detail/iron-maiden-scary-wallpaper.jpg",
            "http://www.pozadinablog.cz/img/18-xl-bubbling.jpg",
            "http://nd01.blog.cz/462/117/86dfd0cfe7_4179740_o2.jpg");
            
    var randomIndex = Math.floor(Math.random()*images.length);
    document.body.style.backgroundImage = "url(" + images[randomIndex] + ")";
    </script>
    
    Tady je nejaky, nejspis fakt necitelny text.
</body>
</html>
monte
Profil *
tak díky, me tamto fungovalo :-D jen jsem nevedel jak tohle:
<div id='bg' style="width:300px; height:600px"></div>

prelozit do css, presto díky :)
WanTo
Profil
Mimochodem, nevím, jestli jsi to někde opsal nebo vymyslel sám, ale když použiješ pro generování indexu Math.round(Math.random()*(obrazky.length-1)), tak se ti bude první a poslední obrázek zobrazovat s 2x menší pravděpodobností, než ty ostatní.
monte
Profil *
no opsal, chci te jen poprosit, mohl by jsi mi prosím opravdu prepsat toto <div id='bg' style="width:300px; height:600px"></div> do obycejneho řádku css? Ja bych mozna vedel, ale plete se mi tam to "id" .. vlastne nevim jak to prepsat. Díky :)
WanTo
Profil
#bg {width: 300px; height: 600px; }

Doufám, že aspoň víš, proč je to generování indexu s použitím Math.round špatně. A vážně si zajdi do toho knihkupectví.
monte
Profil *
fuj, hotovo. Jo do knihovny zajdu, nake knizky vratit az je prectu a pak mozna zajdu mezi regály "informační technologie" :))
www.mojemandriva.cz - muzes se podivat xD .. sem amatern no :]
monte
Profil *
jeste bych rad dodal, díky moc :)
panther
Profil
monte
a to pozadí, které má každé 1,5MB myslíš vážně?
monte
Profil *
jenm jedno :-D .. ale me prvni pristup trval vterinu, dalsi pristupy uz si prohlizesc obrazek pamatoval.
no je pravda ze s dial-upem bych si ty stranky prohlizet nechtel, ale jinak je to ok :)
panther
Profil
monte
moc ok to není, ale dělej, jak myslíš
monte
Profil *
PS: ono jde o to ze kazde to pozadi by melo mit alespon 1600x1200 protoze kdyz bych tam dal 800x600 tak se u stroju s vestim rozlisenim bude ten obrazek opakovatcoz nevypada moc hezky no a s takto velkym pozadim uz tu velikost o moc nezmensim, navic to vypada docela dobre :) Jen by to chtelo vychytat obrazky ktere tam nejvic padnou :)
Taurus
Profil
A na moje rozlišení 1920 x 1200 jsi nemyslel? :-(
Dal bych tam ještě větší obrázky... když už se natahuje velké množství dat, tak ať rovnou pořádné. :-))
« 1 2 »

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: