typewriter-effekt

JavaScript

4 svar · 219 visningar · startad av webbmannen

Medlem sedan dec. 1999826 inlägg
Trådstart#1

Eftersom inte alla har/använder flash så tänkte jag använda mig av ett JavaScript för att åstadkomma en liten effekt. Jag kan dock inte tillräckligt för att få det att fungera :(

Detta är utgångsmaterialet:

3 parts to this script
============================================================
part 1
============================================================
<script language="JavaScript">
<!--

/*
Text Writer v1.0 (27/05/98)
by Michaël THOMAS aka SoLO/CORPSE
*/

var d
//change var i=(your number of messages)
var i=5
var u=0
var time
var symbole
//change your speed and symbol below (higher=slower)
function tableau() {
        this[0]="100_This is an exapmle of the Text Writer v1.0"
        this[1]="150#by THOMAS Michaël, MikeJ51@hotmail.com"
        this[2]="150=You can adjust the font face and speed of your messages"
        this[3]="200 Download this script and more at <A HREF="http://www.a1javascripts.com"" TARGET=_blank>www.a1javascripts.com"</A> 
        this[4]="150_Thank you for visiting A1 JavaScripts"

}

function scroll() {
        var tb = new tableau()

        time = tb[u].substring(0,3)             // the substring command is so cool ;)
        symbole = tb[u].substring(3,4)

        i++

        if (i > tb[u].length) { 
                i = 5                           //5 = number of messages
                u++
                if (u > 4) { u = 0 }            // 4 = line number -1
        }
        d = tb[u].substring(4,i)

        document.forms[0].elements[0].value = d+symbole
        setTimeout ("scroll()",time)
}

// -->

</script>

================================================================
part 2
================================================================

<body onLoad="scroll()">

================================================================
part 3 - place where you want it to display
================================================================

    <form name="msg">
      <div align="center"><center><p><font face="Arial,Helvetica" size=-1><input type="text" size="50" name="mesg"></font></p>
      </center></div>
    </form>

Jag har försökt att få till ett script som gör samma sak fast med en rad och inte i en textbox utan var som helst där jag lägger scriptet (tex i en cell någonstans).

Mitt misslyckade försök:

<script language="JavaScript">
<!--

var a
var msg="100 Välkommen till ..........! På våra sidor hittar du ..........."
var i=1

function text() {
	time = msg(0,3)
	i++
	a = msg(4,i)
	document.write(a)
	setTimeout ("text()",time)
}

text();

// -->
</script>

Som synes så är det en del kommandon som jag inte vet vad de gör ;) och hoppas nu på hjälp.

/webb

Medlem sedan juli 2000836 inlägg
#2

Hallå!
Jah gjorde detta för en tid sen', hoppas att du kan använda det för att komma vidare.

Detta skrivs innom HEAD-taggarna:

<style type="text/css">
#layer1	{position:absolute; visibility:hidden; width:100%; font-family: Verdana; font-size:8pt }
</style>

<script type="text/javascript" language="JavaScript">
/**************************
   (C) 2000 Tord Johnsen
     Använd som du vill 
      men lämna detta.
**************************/
  onload=type;
  
  var ut="Här skriver du din text."; //Din text.              
var n = 0;
function type(){	
txt=ut.substr(0,n);
if(document.all){  // Explorer
	document.all("layer1").style.visibility='visible';
	if (n > ut.length) {
	document.all("layer1").innerHTML=ut;
	}
	else{
	document.all("layer1").innerHTML=txt+"_"; 
	n+=1;
	setTimeout("type()",100);  //hastighet=100 (ändra vid behov).
	}
}
else{  // Netscape
	document.layers["layer1"].visibility='visible';
	if (n > ut.length) {
	document.layers["layer1"].document.write("<CENTER><FONT FACE='VERDANA' SIZE=1>"+ut+"</FONT></CENTER>");
	document.layers["layer1"].document.close();
	}
	else{
	document.layers["layer1"].document.write("<CENTER><FONT FACE='VERDANA' SIZE=1>"+txt+"_</FONT></CENTER>");
	document.layers["layer1"].document.close();
	n+=1;
	setTimeout("type()",100);  //hastighet=100 (ändra vid behov).	
	}
}
}
</script>

Och dett innom BODY-taggarna där du vill att texten skall komma:

<div id="layer1" align=center>Här kommer texten.</div>
Medlem sedan dec. 1999826 inlägg
#3

Stort tack Johnsen :)

Efter diverse justeringar så ser det nu nästintill exakt lika ut i IE och NS. Undrar dock om det finns någon justeringsmöjlighet där jag kan ändra positionen i NS. Jag skulle vilja ha upp lagret ca 3-5 pixlar - går det?

/webb

Medlem sedan dec. 1999826 inlägg
#4

Behövs inte :)

Mitt eget GoLive skrev om koden åt mig :e Inte rätt iofs, men så jag förstod vad det var som behövdes justeras.

/webb

Medlem sedan juni 200032 967 inlägg
#5

hej webbis!

jag antar att det var det här du mailade mig om, jag har inte lyckats få iväg ett mail till dig... (de bara studsar.)

jag kan tyvärr inte hjälpa dig, men det verkar som om det inte gör någonting! :)

258 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)