Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Náhodné hlášky - refresh bez F5

Dobrý den,
našla by se někdo, kdo by mi dokázal poradit?
Tedy, jestli je to vůbec možné..
Mám na webu zhruba následující kód, a pro změnu nějaké té náhodné hlášky je třeba refreshovat celou stránku (F5) a to je docela zdlouhavé a navíc to příliš nepřispívá trafficu, kdyby to tak dělal každý.
Nelze nějak udělat, aby se po kliku na odkaz obnovila pouze ta hláška?

kód:

<SCRIPT LANGUAGE="JavaScript" type="text/javascript">
<!-- Hide script from old browsers
coolPhrase = new Array
coolPhrase[0] = "xxx"
coolPhrase[1] = "yyy"
coolPhrase[2] = "zzz"

phraseCnt = coolPhrase.length;
javascript: picPhrase();

function picPhrase() {
randomNum = Math.floor ((Math.random() * phraseCnt))
trashTalk = coolPhrase[randomNum]
document.write ("<title>" + trashTalk + "</title>")
document.write ("<p align=\"center\">Víte že.. " + trashTalk + "</font></p>")
}

// End hiding script from old browsers -->
</SCRIPT>

Děkuji!

Předmět Autor Datum
Schovávanie script elementu pred staršími prehliadačmi, atribút language=JavaScript, inicializácia p…
los 17.11.2011 10:51
los
Aha díky :) Ten kód jsem našel na netu a zdá se být funkční. Jen se chci ještě zeptat, nedalo by se…
H2SO4 17.11.2011 10:56
H2SO4
Myslel som si, že si to našiel na nete - ak by si to písal sám, tak by si si to vedel aj sám upraviť…
los 17.11.2011 11:01
los
:) Díky poslední
H2SO4 17.11.2011 11:04
H2SO4

Schovávanie script elementu pred staršími prehliadačmi, atribút language=JavaScript, inicializácia poľa po jednom prvku, document.write a žiadne deklarovanie premenných? Ten skript snáď písali ešte starí Egypťania...

Najjednoduchšie je refreshovať každých niekoľko sekúnd:

Víte, že <span id="trashtalk"></span>
<script>
var trashtalk = document.getElementById('trashtalk').appendChild(document.createTextNode(''));
var phrases = ['xxx', 'yyy', 'zzz'];
var randomPhrase = function() {
	trashtalk.data = phrases[0|Math.random() * phrases.length];
};
setInterval(randomPhrase, 5000);
randomPhrase();
</script>

Ale keď to chceš spraviť, aby sa to obnovilo až po kliknutí, tak takto:

Víte, že <span id="trashtalk"></span> <span id="refresh">Obnoviť</span>
<script>
var trashtalk = document.getElementById('trashtalk').appendChild(document.createTextNode(''));
var phrases = ['xxx', 'yyy', 'zzz'];
var randomPhrase = function() {
	trashtalk.data = phrases[0|Math.random() * phrases.length];
};
document.getElementById('refresh').onclick = randomPhrase;
randomPhrase();
</script>

Aha díky :)
Ten kód jsem našel na netu a zdá se být funkční.
Jen se chci ještě zeptat, nedalo by se to implantovat do toho původního kódu?
Okolnosti mi totiž nedovolují v kódu použít apostrofy ', pouze uvozovky " :)

Myslel som si, že si to našiel na nete - ak by si to písal sám, tak by si si to vedel aj sám upraviť. Jednojitá a dvojitá úvodzovka sú v JavaScripte ekvivalentné znaky, takže ich kľudne nahraď dvojitými. Dalo by sa to implantovať do pôvodného kódu, ale podľa toho, ktoré riadky by som ponechal, tak tam by bola nejaká chyba. Na okolnosti sa radšej pýtať nebudem, lebo sa bojím, čo by som sa dozvedel. :-)

Zpět do poradny Odpovědět na původní otázku Nahoru