Frage zu Javascript-Kursaufgabe: Habe ich möglicherweise etwas vergessen oder falsch gemacht?

Ich mache derzeit für einen Aufnahmetest auf der FH einen Schnupperkurs in Javascript und komme eigentlich ganz gut zurecht, aber habe ein Problem mit dieser Aufgabe. Wenn ich mein Ergebnis überprüfen möchte, sagt mir dieses, dass ich nicht alles korrekt gelöst hätte, da mein if ... else anscheinend noch nicht ganz richtig umgesetzt ist.

Das wäre mein Lösungsansatz gewesen. Ich habe auch, egal welchen Wert ich geändert habe, keine falsche Lösung bekommen. Habe ich möglicherweise etwas vergessen oder falsch gemacht?

/*
 * Programming Quiz - Checking Your Balance (3-5)
 */
// change the values of balance, checkBalance and isActive to test your code
var balance = 50;
var checkBalance = true;
var isActive = true;

if (checkBalance === false) {
  console.log("Have a nice day");
}
else if (checkBalance === true && isActive === true && balance > 0) {
  console.log("Your Balance is $" +balance+".");
}
else if (checkBalance === true && isActive === false) {
  console.log("Your account is no longer active");
}
else if (checkBalance === true && isActive === true && balance === 0) {
  console.log("Your account is empty");
}
else if (checkBalance === true && isActive === true && balance < 0) {
  console.log("Your Balance is negative. Please contact bank");
}

Ich hoffe mir kann jemand weiterhelfen. 😃

Computer, Programmieren, JavaScript, JavaScript-Code
5 Antworten
Warum funktioniert dieser JavaScript / Html Code nicht wie gewünscht?

Ich würde gerne ein Programm zum berechnen für Kosten in eine html einbinden...

ich habe dieses Programm in python geschrieben und würde es gerne in JavaScript umwandeln... Jedoch funktioniert dies nicht wie gewünscht...

Hier der html Code:

<html>
 <head>
  <title>
   Rechenprogramm
  </title>
  <link rel="stylesheet" type="text/css" href="PS-VR.css">
  <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
  <script type="text/javascript" src="Rechenprogramm.js"></script>
 </head>
  <body>
   <form>
    <input type="text" name="Geld" id="Geld" />
     <button type="button" onclick="alertInputValue()">
      Los!
     </button>
    </input>
   </form>
   <input id="resultField">
   </input>

Und hier der JavaScript Code:

var Kosten = 320
function alertInputValue()
 {Geld = document.getElementById('Geld').value;}
<input type="text" name="Geld" id="Geld" />
    <button type="button" onclick="alertInputValue()">
     Weiter
    </button>
var MonatezuSommer = 0
document.getElementById("output").innerText = "Dir fehlen noch " + (Kosten - Geld) + " Euro"; // if insert only plain text
document.getElementById("resultField").value = "Hello";

Könnte mir jemand erklären, warum das nicht funktionert ?

LG Simon

Computer, HTML, Webseite, Programmieren, JavaScript, Fehlersuche, HTML-Editor
3 Antworten
SVG funktioniert nicht?

In allen Editoren Online funktioniert folgendes:

<script>
function setSvg(month, day){
          return "<?xml version='1.0' standalone='no'?><svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' style='isolation:isolate' viewBox='0 0 200 200' width='200' height='200'><defs><clipPath id='_clipPath_BTzJAWdHJZVUGGYrrUDwSyNPa5Ujloqh'><rect width='200' height='200'/></clipPath></defs><g clip-path='url(#_clipPath_BTzJAWdHJZVUGGYrrUDwSyNPa5Ujloqh)'><g><rect x='41.4' y='40.189' width='117.199' height='120.236' transform='matrix(0.951057,-0.309017,0.309017,0.951057,-26.102184,35.811068)' fill='rgb(28,27,27)'/><rect x='41.4' y='38.233' width='117.199' height='120.236' transform='matrix(0.961262,-0.275637,0.275637,0.961262,-23.235267,31.373671)' fill='rgb(57,57,57)'/><rect x='41.4' y='38.233' width='117.199' height='120.236' transform='matrix(0.978148,-0.207912,0.207912,0.978148,-18.262998,22.940365)' fill='rgb(81,80,80)'/><rect x='41.4' y='36.276' width='117.199' height='120.236' transform='matrix(0.984808,-0.173648,0.173648,0.984808,-15.219469,18.829264)' fill='rgb(149,149,149)'/><rect x='41.4' y='34.32' width='117.199' height='120.236' transform='matrix(0.990268,-0.139173,0.139173,0.990268,-12.170036,14.836374)' fill='rgb(208,208,208)'/><rect x='41.4' y='32.364' width='117.199' height='120.236' transform='matrix(0.994522,-0.104528,0.104528,0.994522,-9.11916,10.959471)' fill='rgb(255,255,255)'/></g><rect x='36.838' y='32.603' width='117.199' height='32.94' transform='matrix(0.994522,-0.104528,0.104528,0.994522,-4.606717,10.24477)' fill='rgb(255,63,56)'/><g transform='matrix(0.994522,-0.104528,0.104528,0.994522,35.499851,38.859638)'><text transform='matrix(1,0,0,1,32.049347,25.853783)' style='font-family:Open Sans, sans-serif;font-weight:400;font-size:24px;font-style:normal;word-spacing:5;fill:#ffffff;stroke:none;'>" + month + "</text></g><g transform='matrix(0.994522,-0.104528,0.104528,0.994522,39.028839,71.380565)'><text transform='matrix(1,0,0,1,17.498417,70.832115)' style='font-family:Open Sans, sans-serif;font-weight:400;font-size:70px;font-style:normal;fill:#000000;stroke:none;'>" + day + "</text></g></g></svg>";
        }
        document.write(setSvg('DEC', '22'));
</script>

Jedoch wenn ich es in meiner Seite einbette gibt er mit nur noch weiss (res. einfach eine Page ohne Quelltext) zurück? Wie kann ich dies beheben?

BSP http://jsfiddle.net/svenwas3f/oxb8z0eg/2/

Computer, Internet, Programm, HTML, IT, Programmieren, JS, Informatik, JavaScript-Code, SVG
1 Antwort
JavaScript Tabs mit OnClick / Mit Enter Taste bestätigen?

Hallo alle miteinander,

Ich habe vor kurzem eine ähnliche Frage gestellt, der Code hast sich aber nun komplett geändert. Dies ist die letzte "Hürde" die ich noch überwinden muss um endlich mit meinen eigentlichem Projekt weitermachen zu können.

Ich kenne mich mit JavaScript noch nicht wirklich gut aus, außer die Tabs und ein Accordeon habe ich noch nie etwas mit JavaScipt realisiert. Und da ich die Code-Funktionsweise sehr übersichtlich finde, möchte ich diese nicht wieder unnötig zerstören..

Also die eigentlichen Tabs funktionieren schon, können aber nicht mit der Enter Taste bestätigt & aufgerufen werden.

function clickHandler & function keyHandler == nicht I.O.

Ich weiß nicht wie ich diese in ein Onclick Ereignis einfügen kann, geht das überhaupt?

Wobei die Funktion clickHandler eigentlich überflüssig ist, wichtiger ist die Funktion keyHandler.

JS

function init() {
	function openTab(evt, tabName) {
		// Declare all variables.
		var i, tabpane, tablink;

		// Get all elements with class="tab-pane" and hide them.
		tabpane = document.getElementsByClassName("tab-pane");
		for (i = 0; i < tabpane.length; i++) {
		    tabpane[i].style.display = "none";
		}

		// Get all elements with class="tablink" and remove the class "active".
		tablink = document.getElementsByClassName("tablink");
		for (i = 0; i < tablink.length; i++) {
	 	   tablink[i].className = tablink[i].className.replace(" active", "");
		}

		// Show the current tab, and add an "active" class to the button that opened the tab.
		document.getElementById(tabName).style.display = "block";
		evt.currentTarget.className += " active";
	}

	var tablink = document.getElementsByClassName("tablink")[0];
	if (typeof tablink !== 'undefined') {
 	    tablink.click();
	}

	var tab = document.getElementsByClassName('tabpanel'); 
	tab.addEventListener('click', clickHandler);
	tab.addEventListener('keypress', keyHandler);

	function clickHandler(evt) {
		openTab(evt);
	}

	function keyHandler(evt) {
		// Ermittelt den Keycode der gedrückten Taste.
		let keyCode = (evt.keyCode ? evt.keyCode : evt.which);
		// Überprüft ob die Taste "Enter" gedrückt wurde.
		if (keyCode === 13) {
			openTab(document.activeElement);
		}
	}
}
document.addEventListener("DOMContentLoaded", function () {
	init();
});

HTML

<div class="tabpanel">

<!-- Tab Navigation -->
<ul class="tab-nav">
	<li><a tabindex="0" class="tablink" onclick="openTab(event, 'tab-pane-1')">HIER1</a></li>
	<li><a tabindex="0" class="tablink" onclick="openTab(event, 'tab-pane-2')">HIER2</a></li> </ul>

<!-- Tab Content -->
<div class="tab-content">
<div class="tab-pane" id="tab-pane-1">HIER1</div>
<div class="tab-pane" id="tab-pane-2">HIER2</div>
</div>

</div>
JavaScript, JavaScript-Code
1 Antwort
JavaScript Tabreiter mit OnClick / Letzte Funktion Fehlerhaft?

Hallo alle miteinander,

Ich habe vor kurzem die verschiedensten JS Tabs realisiert und getestet. Letztendlich habe ich mich dann für die "OnClick" Tabs entschieden. Das ganze funktionierte bis jetzt eigentlich auch so wie gewollt, allerdings fielen mir gestern 2 unschöne Dinge auf, die ich bis jetzt übersehen habe.

--------------------------------------------------------------------------------------------------------------------------------------

PROBLEM-1:

Ich habe die nötige JS Datei für das HTML-Tab auf alle meinen Beiträgen eingebunden, wenn aber das eigentliche HTML Tab nicht im Beitrag vorkommt, wird ein Fehler erzeugt.

Uncaught TypeError: Cannot read property 'click' of undefined

erzeugt wird dieser durch die letzte Zeile im JS-Code.

--------------------------------------------------------------------------------------------------------------------------------------

PROBLEM-2:

Die Tabs können nicht mit der Tab-Taste angesteuert werden, das ist mir aber schon sehr wichtig. Man kann also nicht mit der Tab-Taste zwischen den Tabs wechseln.

<a class="tablink" onclick="openTab(event, 'tab-pane-1')">HIER1</a>

ändern kann man das mittels href="javascript:void(0)"

Gibt es hierfür eine bessere Möglichkeit, z.B. mittel einer JS Funktion?

--------------------------------------------------------------------------------------------------------------------------------------

Das nötige JS für die Tabs:

function openTab(evt, tabName) {
	// Declare all variables.
	var i, tabpane, tablink;

    // Get all elements with class="tab-pane" and hide them.
    tabpane = document.getElementsByClassName("tab-pane");
    for (i = 0; i &lt; tabpane.length; i++) {
        tabpane[i].style.display = "none";
    }

    // Get all elements with class="tablink" and remove the class "active".
    tablink = document.getElementsByClassName("tablink");
    for (i = 0; i &lt; tablink.length; i++) {
        tablink[i].className = tablink[i].className.replace(" active", "");
    }

    // Show the current tab, and add an "active" class to the button that opened the tab.
    document.getElementById(tabName).style.display = "block";
    evt.currentTarget.className += " active";

}

// Get the first element with class="tablink" and click on it.
document.getElementsByClassName("tablink")[0].click();

Das nötige HTML für die Tabs:

<!-- Tabpanel / Tabs -->
<div class="tabpanel">

<!-- Tab Navigation -->
<ul class="tab-nav">
<li><a class="tablink" onclick="openTab(event, 'tab-pane-1')">HIER1</a></li> <li><a class="tablink" onclick="openTab(event, 'tab-pane-2')">HIER2</a></li> <li><a class="tablink" onclick="openTab(event, 'tab-pane-3')">HIER3</a></li> <li><a class="tablink" onclick="openTab(event, 'tab-pane-4')">HIER4</a></li> </ul>

<!-- Tab Content -->
<div class="tab-content">
<div class="tab-pane" id="tab-pane-1">HIER1</div>
<div class="tab-pane" id="tab-pane-2">HIER2</div>
<div class="tab-pane" id="tab-pane-3">HIER3</div>
<div class="tab-pane" id="tab-pane-4">HIER4</div>
</div>

</div>
Computer, JavaScript, JavaScript-Code
1 Antwort
Javascript Slider funktioniert nicht richtig?

Hallo Leute,

habe heute mit Javascript angefangen und will einen Slider machen, bei dem man auf einen button klickt und sich dann rechts text und links ein Foto ändert. Das Foto wird hier als Background Image eingefügt und der Textbereich besteht aus drei Teilen (Text, Autor und Position). Ich weiß, dass dieser Code viel zu kompliziert ist, aber so ist das eben als Anfänger ^^ Wenn ihr wisst, woran es liegt und wie man es verkürzen kann freue ich mich über eure Antwort.

Vielen Dank!

Hier mein Code:

//Testimonial Slider

function testimonialSlider() {

 //[0] = Slide 1

 //[1] = Slide 2

 //[2] = Slide 3

 //[3] = Slide 4

 //[4] = Slide 5

 var img = ['url("Slide1") no-repeat center center', 'url("Slide 2") no-repeat center center', 'url("Slide 3") no-repeat center center', 'url("Slide 4") no-repeat center center', 'url("Slide 5") no-repeat center center', ];

 var text = ['Text Slide 1', 'Text Slide 2', 'Text Slide 3', 'Text Slide 4.', 'Text Slide 5', ];

 var author = ['Author Slide 1', 'Author Slide 2', 'Author Slide 3', 'Author Slide 4', 'Author Slide 5', ];

 var pos = ['Position Slide 1', 'Position Slide 2.', 'Position Slide 3', 'Postition Slide 4', 'Position Slide 5', ];

 var tIMG = document.getElementById('t_img');

 var tTEXT = document.getElementById('t_testimonial');

 var tNAME = document.getElementById('t_name');

 var tPOS = document.getElementById('t_position');

 var next = document.getElementById('next_button');

 var prev = document.getElementById('prev_button');

 var i = 0;

 next.addEventListener('click', function () {

  tIMG.style.background = img[i];

  tIMG.style.backgroundSize = 'cover';

  tTEXT.innerHTML = text[i];

  tNAME.innerHTML = author[i];

  tPOS.innerHTML = pos[i];

  if (i = 4) {

   i = 0;

  } else {

   i++;

  }

 });

 prev.addEventListener('click', function () {

  tIMG.style.background = img[i];

  tIMG.style.backgroundSize = 'cover';

  tTEXT.innerHTML = text[i];

  tNAME.innerHTML = author[i];

  tPOS.innerHTML = pos[i];

  if (i = 0) {

   i = 4;

  } else {

   i--;

  }

 });

}

Programmieren, JavaScript, Programmierung, JavaScript-Code, slider
3 Antworten
JAVASCRIPT Ist es möglich bestimmte generierte variablen zu verändern, auszulesen sowie zu löschen?

Hallo, Ich möchte gerne Variablen per Variable Erstellen, Entfernen, Editieren.

Habe vorher alles mit

Var Speicher1="textinhalt";

Var Speicher2="textinhalt";

Umgesetzt. Nur musste Ich für jeden Speicherbefehl eine neue Anfrage siehe Alt* erstellen.

Beim Generieren der neuen Speicher erkennt er den Inhalt der Speicher nur als Zahl und nicht wie gewünscht als Text.

Alt*:

if (question.includes("Lese")&&question.includes("Speicher1")) {

SpeicherLesen()

return;

}

Neu:

if (question.includes("Lese Speicher")&&question.includes("A")) {

A=Speicher+i

SpeicherLesen()

return;

}

var i=0;
var SpeicherCap=16;
var textcontent="";
var SpeicherOutput="";

//Wenn Speicher1 schon exestiert soll er neuen Speicher Generieren. function createSpeicher() { //Generiere Bestimmung für Speicher Variable if (i<=SpeicherCap)     {         var str ="Speicher"+i+"= "+textcontent; SpeicherOutput=str

        eval(str);     }  }

  //Erstelle neue Speicher Variable und Definiere ersten Inhalt. function NeuerSpeicher(){ textcontent="beispieltext"; i++ createSpeicher()

if (i==RamCap)

    { i=0     } }

//Bestimme welcher Speicher gelesen wird und lese diesen. var SpeicherInput=Speicher+i; function SpeicherLesen() {

SpeicherInput=SpeicherOutput;

document.getElementById("p1").innerHTML = "Zeige Speicher "+SpeicherInput+" Speicher Inhalt"+SpeicherOutput }

//Bestimme welcher Speicher Inhalt geändert wird und geändere diesen. function SpeicherEditieren() {

NeuerText="beispiel2"; Speicher+i=NeuerText }

//Bestimme welcher Speicher geleert wird und geleert diesen. function SpeicherEntfernen() {

NeuerText=""; Speicher+i=NeuerText

}

0 Antworten
JavaScript: Ist es möglich, den Inhalt einer generierten Variable zu verändern, ohne jede generierte Variable zu definieren?

Hallo, ich brauche etwas Hilfe von euch.

Ich habe vorher alles in Var definiert und möchte diese gerne generieren und daraufhin sie bearbeiten, löschen und neu erstellen können, damit ich nicht folgendes habe:

Var Speicher1 = "";
Var Speicher2 = "";
Var Speicher3 = "";
" "
....

Zurzeit funktioniert es nur mit Zahlen als Inhalt. Text erkennt er wegen

eval(str);

nicht an.

Folgendes würde Ich mitunter gerne umsetzten:

if (question.includes("Lese Speicher") && question.includes("A")) {
  A = Speicher + i
  SpeicherLesen()
  return;
}

var i = 0;
var SpeicherCap = 16;
var textcontent = "";
var SpeicherOutput = "";

function createSpeicher() {
  // Generiere Bestimmung für Speicher Variable
  if (i <= SpeicherCap) {
    var str = "Speicher" + i + "= " + textcontent;
    SpeicherOutput = str
    eval(str);
  }
}
                  
// Erstelle neue Speicher Variable und Definiere ersten Inhalt.
function NeuerSpeicher() {
  textcontent = "beispieltext";
  i++
  createSpeicher()

  if (i == RamCap) {
    i = 0
  }
}
                                
// Bestimme welcher Speicher gelesen wird und lese diesen.
var SpeicherInput = Speicher + i;

function SpeicherLesen() {
  SpeicherInput = SpeicherOutput;
  document.getElementById("p1").innerHTML = "Zeige Speicher " + SpeicherInput + " Speicher Inhalt" + SpeicherOutput
}
        
// Bestimme welcher Speicher Inhalt geändert wird und geändere diesen.
function SpeicherEditieren() {
  NeuerText = "beispiel2";
  Speicher + i = NeuerText
}
        
// Bestimme welcher Speicher geleert wird und geleert diesen.
function SpeicherEntfernen() {
  NeuerText = "";
  Speicher + i = NeuerText
}
JavaScript
2 Antworten

Meistgelesene Fragen zum Thema Javascript Codeproblem