W nagłówku dokumentu (przed </HEAD> ) wklejamy następujący kod:
<script language="JavaScript" type="text/javascript">
<!--
function dInit(speed,msg) {
dMsg = msg.split("\n");
dNr = 0;
dPoz = 0;
dSpeed = speed;
dDrukuj();
}
function dDrukuj() {
dPoz = (dPoz+1)%dMsg[dNr].length;
if (dPoz == 0) {
document.dform.dinput.value = dMsg[dNr];
dNr = (dNr+1)%dMsg.length;
dTimer = setTimeout("dDrukuj()",dSpeed*20);
} else {
document.dform.dinput.value = dMsg[dNr].substring(0,dPoz)+"_";
dTimer = setTimeout("dDrukuj()",dSpeed);
}
}
</script>
Na uwagę zasługuje linijka dMsg = msg.split("\n"); . Widzimy tu użycie metody split() , właściwej wszystkim stringom. Metoda ta zwraca tablicę (Array) stringów powstałą po rozbiciu napisu względem danego separatora. W naszym przypadku separatorem jest \n , czyli znak nowej linii. Tak właśnie zapisuje się w JS znaki specjalne: z ukośnikiem, np. \t oznacza tabulację, \n nową linię, \' i \" odpowiednio ' i " (tych sekwencji możemy używać wewnątrz stringów ujętych w takie właśnie cudzysłowy - nie zostaną one zinterpretowane jako koniec napisu). Natomiast sam ukośnik to \\ .
Teraz musimy wstawić na stronę okienko, w którym będą się pojawiały nasze komunikaty. Wklejamy w upatrzonym miejscu taki kod:
<form name="dform" action="">
<input type="text" name="dinput" size="30" readonly>
</form>
Pozostaje nam już tylko uruchomienie skryptu - aby działo się to automatycznie przy otwieraniu strony, wykorzystamy atrybut onLoad znacznika <body> :
onLoad="dInit(prędkość,'Stój\nbo strzelam')"
Za prędkość wstaw odpowiednią liczbę (polecam wartości od 50 (szybko) do 100 (wolno)). Drugim argumentem naszej funkcji dInit() jest wyświetla wiadomość - poszczególne komunikaty rozdzielamy symbolem nowej linii: \n .
Bardzo łatwo tak zmienić ten skrypt, aby komunikaty pojawiały się nie w okienku tekstowym, a np. w pasku stanu przeglądarki. Porównaj skrypty Banner w pasku stanu i Banner w okienku tekstowym, a napewno zorientujesz się, jak to zrobić.
[ Powrót na górę ]
|