Autor Zpráva
Marek D.
Profil *
Ahojte, potreboval by som pomôcť, dúfam že som tému zaradil správne.
Hľadám javascript pomocou ktorého by som mohol dať na stránku rôzne citáty stým, že po každom obnovení stránky(refresh), by sa citát(alebo nejaký text) zmenil na iný.
Bolo by to možné? Ďakujem za odpovede
Shadowek
Profil
Samozdřejmě že bylo. Lze to vyřešit jak pomocí JS tak pomocí PHP (to PHP je myslím jistější).
Javascript moc dobře neovládám takže tam ti neporadím ale v PHP to používám a mám to vyřešeno takto:
<?php
$text[0] = "text0";
$text[1] = "text1";
$text[2] = "text2";
$vypis = rand(1,count($text))-1;
echo($text[$vypis]);
?>
petr 6
Profil
V php jsem toto zrovna dnes psal
$array=array("text1","text2","text3");
echo $array[array_rand($array)];
Marek D.
Profil *
Veľmi pekne ďakujem za rady, no problém je v tom, že môj hosting php nepodporuje a ani nebude.
Skúšal som to hľadať, ale nič podobné som v js nenašiel. Tak ak by niekto bol ochotný a pomohol mi spraviť túto "fuknciu" Javascripte bol by som veľmi vďačný
Ďakujem ešte raz
_es
Profil
<iframe></iframe>
<script>window.onload=function(){frames[0].location = Math.floor(Math.random()*10) + ".html";};</script>

Toto do prvého elementu iframe na stránke náhodne vyberie jeden z 10 súborov 0.html9.html.
Bez iframu by to bolo zložitejšie cez AJAX.
Marek D.
Profil *
Ďakujem _es pokúsim sa to rozbehať :)
peta
Profil
Marek D.:
Proc ti nevyhovuje priklad na jakpsatweb.cz ? Predpokladam, ze kdyz pises do fora, mas to zkoukle a mas duvod, proc to neni vhodne pro tvuj problem.
http://www.jakpsatweb.cz/javascript/priklady/index.html#vychytavky
* Výpis náhodného přísloví javascriptem
_es
Profil
peta:
Ten príklad má nevýhodu, že by musel pri každom obnovení stránky sťahovať všetky citáty a len jeden z nich zobraziť.
Kedy si sa naučil robiť odkazy aj na niečo iné než na tú svoju zbierku všetkého možného?
ah01
Profil
_es:
Pokud těch citátů bude např. 10 (nějaké rozumně malé číslo), tak úspora jednoho požadavku bude časově významnější než úspora pár Bytů, které by nezobrazené citáty zabraly.
_es
Profil
ah01:
Ja som myslel práve na ten prípad, že ich "rozumne malé číslo" nebude.
Bárskde po internete sa dá takých citátov nazbierať veľa.
No aspoň má Marek D. na výber z viacerých možností.
peta
Profil
_es: Je to funkcni priklad. O jeho nevyhodach vim. Neni problem vygenerovat pres php z databaze nahodne cislo, treba 30 citatu a nechat je promitat nahodile casovacem. Nemusi se menit jen pri refresh. Coz by mozna bylo i lepsi nez kazdy citat stahovat do iframe a obtezovat server.
_es
Profil
peta:
... vygenerovat pres php ...

Zrejme asi dosť nepozorne čítaš: [#4] Marek D..
Bubák
Profil
Pokud citátů bude opravdu hodně, pak je možné v JS vygenerovat odkaz na externí script:
jeden neúsposporný: http://diskuse.jakpsatweb.cz/?action=vthread&forum=1&topic=92134#3
úsporný, ale potřebuje přepsat z PHP do JS, což je v tmto pžípadě snadné: http://diskuse.jakpsatweb.cz/?action=vthread&forum=1&topic=92134#4
Externím JS vypíšeš citát. Abys neměl spoustu malých externích souborů, doporučil bych, abys v jednom souboru měl třebas 20 citátů.
_es
Profil
Bubák:
Myslím, že sa to zbytočne komplikuje, ja to vidím takto:
Veľa citátov:
moje riešenie, prípadne niečo komplikovanejšie cez AJAX, alebo niečo iné, vyžadujúce jednu požiadavku naviac na server.
Málo citátov:
petaovo riešenie, alebo niečo podobné.

Abys neměl spoustu malých externích souborů, doporučil bych, abys v jednom souboru měl třebas 20 citátů.
Prečo by veľa malých externých súborov malo vadiť a musel to nejako komplikovať?
Jeden súbor na jeden citát je rýchle a jednoduché riešenie.
Bubák
Profil
_es:
Prečo by veľa malých externých súborov malo vadiť a musel to nejako komplikovať?
Plýtváš zbytečně místem na disku, pokud nevyužiješ celý cluster.

Jeden súbor na jeden citát je rýchle a jednoduché riešenie.
20 (plus mínus) citátů v souboru je kompromisní řešení.

prípadne niečo komplikovanejšie cez AJAX
Pokud není třeba měnit text v načtené stránve, je AJAX naprosto zbytečný. Kromě toho, pokud chych si "natáhnul" 20 citátů, můžu je měnit i bez AJAXU.

Dobře vím, že ideální by bylo uložit citáty do databáze a použít PHP, ale to hosting (tipuji freehosting), který používá Marek D., neumožňuje.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

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

0