Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Javascript Funktion einen Parameter übergeben (https://www.delphipraxis.net/182852-javascript-funktion-einen-parameter-uebergeben.html)

Luckie 21. Nov 2014 14:13

Javascript Funktion einen Parameter übergeben
 
Hallo.
Ich habe folgende Javascript Funktion, die auf einer Webseite einen Text im Styl einer Schreibmaschine ausgibt:
Code:
var row1=new Array("ACCESS DENIED");
var speed=170;
var k=0;
var newvar=0;
var count=0;
function schreibmaschine()
{
var div = document.all.textas;
if(count < row1.length)
   {
   /*if(k==row1[count].length || (newvar < 50 && newvar!=0))
      {
      if((newvar%10)==0)
         div.innerHTML+="_";
      if((newvar%10)==5)
         div.innerHTML=div.innerHTML.substr(0,div.innerHTML.length-1);
      newvar++;
      }*/
   div.innerHTML+=row1[count].substr(k,1);
   k++;
   setTimeout("schreibmaschine()",speed);
   if(newvar==50)
      {
      newvar=0;
      count++;
      k=0;
      div.innerHTML+="<br>";
      }
   }
}
Aufgerufen wird sie im onLoad des Body-Tags undleigt in einer separaten Datei. Aber wie kann ich der Funktion einen beliebigen Text beim Aufruf mitgeben? Es soll auf jeder Seite ein unterschiedlicher Text ausgeben werden. Der Programmierer hat es ja so gemacht, dass er sie immer wieder selbst aufruft und globale Variablen verwendet. Das ist irgendwie ein Problem.

himitsu 21. Nov 2014 16:12

AW: Javascript Funktion einen Parameter übergeben
 
Delphi-Quellcode:
OnLoad="schreibmaschine()"
=>
Delphi-Quellcode:
OnLoad="schreibmaschine('dein Parameter')"
und natürlich noch
Delphi-Quellcode:
function schreibmaschine(deinParameter) { alert(deinParameter); }
Und setTimeout nicht vewrgessen. :angel:

Luckie 21. Nov 2014 18:53

AW: Javascript Funktion einen Parameter übergeben
 
Ja, aber dann fängt er doch immer wieder von vorne an. Weil der Text ja in einer globalen variable in dem Script steht. Aber man könnte ein Funktion schreiben, die die globalen variablen initialisiert und diese Funktion ruft dann die Ausgabe Funktion auf. Ist mir gerade so eingefallen.

BUG 21. Nov 2014 22:43

AW: Javascript Funktion einen Parameter übergeben
 
Es sieht ein bisschen so aus, als ob du nicht weißt, wie man Funktionen mit Parameter über setTimeout aufruft :stupid:
Closures FTW.

Luckie 22. Nov 2014 13:43

AW: Javascript Funktion einen Parameter übergeben
 
Oh. Im Code sah es für mich so aus, als wenn sich die Funktion immer wieder selbst aufruft.

BUG 22. Nov 2014 14:24

AW: Javascript Funktion einen Parameter übergeben
 
Zitat:

Zitat von Luckie (Beitrag 1280749)
Im Code sah es für mich so aus, als wenn sich die Funktion immer wieder selbst aufruft.

Das tut sie doch :gruebel:
Aber die globalen Variablen kann man so leicht los werden, indem man sie als Parameter weiterreicht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:31 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz