Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

hallo leute,

hab vor kurzem meine ausbildung als fachinformatiker ae angefangen und dacht mir wenn ich mal das ein oder andere problem und hilfe brauche hab bin ich hier ganz gut aufgehoben, da ich hier schon viele nützliche lösungshinweise gefunden habe :)

allerdings steh ich jetzt vor einem problem bei dem ich nicht wirklich weiß wie man es am besten realisieren kann. und zwar geht es um folgendes:

Ich soll ein "Nachrichtenfenster" bauen, einmal mit einer mehrzeiligen Textbox und einmal mit einm <div>

in diesem „nachrichtenfenster“ soll alle 10 Sekunden ein anderer Text eingeblendet werden, in einer endlosschleife, d.h. nach dem letzten text kommt wieder der erste.

Insgesamt sollen es 3 verschiedene texte sein.

ich weiß auf jeden fall schonmal das die funktion setTimeout() dazu benötigt wird, aber vielmehr auch nicht :/

hat vielleicht jemand eine idee wie man das am besten (und am einfachsten) umsetzen kann?!

tausend dank schonmal im vorraus :)

ich weiß auf jeden fall schonmal das die funktion setTimeout() dazu benötigt wird, aber vielmehr auch nicht
Und woher weißt du das?

Weißt du bereits was setTimeout macht?

Wenn nein: Warum nicht?

  • Autor

naja ich hab mal nach verzögerungszeit gegoogelt und hab dazu etwas auf selfhtml gefunden. ich denke das window.setTimeout() eine funktion erst nach der angegebenen zeit ausführt, aber vielmehr auch nicht..

ich denke das window.setTimeout() eine funktion erst nach der angegebenen zeit ausführt, aber vielmehr auch nicht..
Richtig. Und wenn du alle X Sekunden eine Aktion ausführen willst (nämlich "Text ändern") bedeutet das, dass du die Aktion ausführst und am Ende sagst "bitte in X Sekunden nochmal ausgühren".
ok soweit ist mir das ja theoretisch klar. aber wie setzt man das dann am besten in die praxis um?

JavaScript Funktion implementieren und von irgendeiner Stelle aufrufen.

Oder was möchstest du mit dieser Frage genau wissen?

hm.. na wie diese Funktion aussehen muss. ich bin im moment noch dabei mir javascript anzueignen und deswegen fällt es mir im moment noch etwas schwer dies umzusetzten.
Dann solltest du einen Schritt nach dem anderen machen und nicht alles auf einmal.

Verstehe zuerst wie JavaScript prinzipiell funktioniert und danach kannst du dich an die Interaktion mit dem HTML DOM machen. Hier wird dir niemand in zwei Absätzen die Lösung präsentieren können, wenn dir die Grundlagen fehlen diese Lösung zu verstehen.

Ich schließe mich da eigentlich perdian an.

Du solltest einmal den Unterschied zwischen HTML und JavaScript dir anschauen. Nur weil es gerne in einem Atemzug genannt wird, sind es unterschiedliche Dinge. Als nächstes musst Du Dir eben einmal überlegen wie und wo Du Deinen Text abspeicherst und wie dieser dann in die der HTML Seite angezeigt wird.

Ich gebe hier einmal den Hinweis auf Array, Variablen, Zähler, Schleifen usw

  • Autor

ich hab jetzt mal etwas zusammengebastelt, jedoch ist es wohl noch nicht ganz richtig, vielleicht könntet ihr mir sagen wo genau der fehler liegt.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>Nachrichtenfenster</title>


<script type="text/javascript">

var text = new Array ();

text[0] = ("Dies ist der 1. Text!");

text[1] = ("Dies ist der 2. Text!");

text[2] = ("Dies ist der 3. Text!");


function texttauschen ()

{

	var weiter = 0;

	window.document.texfeld.ausgabe.value = text[weiter];

	weiter++;

	if (weiter >text.length) weiter = 0;

	setTimeout ("texttauschen()",10000);

}


</script>


</head>


<body>


<form action="" name="textfeld">

<input name="ausgabe" type="text" size="30" maxlength="30" value=""/> 


</form>


</body>

</html>

jedoch ist es wohl noch nicht ganz richtig
Was bedeutet "nicht ganz richtig"?

Was ist das von dir erwartete Verhalten und wie weicht das tatsächlich beobachtete Verhalten davon ab?

  • Autor

das von mir erwartete verhalten war, das die jeweiligen texte durchenlaufen und zwar in einer endlosschleife, jedoch wurde mir immer nur der erste wert ausgegeben.

hat sich aber schon erledigt, hab den fehler gefunden.

ciaosen

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.