2016-05-26 11 views
1

Ich bin sehr neu in HTML/CSS/Java, also hoffe ich, dass einige von euch mir helfen können herauszufinden, warum meine onclick-Ereignisse nicht funktionieren!Ich kann nicht auf die Arbeit klicken

Hier ist mein HTML-Code (die problematischen Onclick Ereignisse in den divs unter dem h3-Tag sind, in der Nähe der Unterseite der Umhüllung div):

<title>My Very First Webpage</title> 

<link rel = "stylesheet" type="text/css" href = "1-sheet.css"> 

<script src = "1-math.js"></script> 

<div id = "headerDiv"> 
    <h1> Math! </h1> 
</div> 

<div id = "wrapperDiv"> 
    <div id = "navDiv"> 
    <div id = "navButtonDiv" class = "buttonDiv"> <a href = "1-home.html"> Home! </a> </div> 
    <div id = "navButtonDiv" class = "buttonDiv"> <a href = "1-math.html"> Math! </a> </div> 
    <div id = "navButtonDiv" class = "buttonDiv"> <a href = "1-links.html"> Cool Links! </a> </div> 
    <div id = "navButtonDiv" class = "buttonDiv"> <a href = "1-videos.html"> Videos! </a> </div> 
    <div id = "navButtonDiv" class = "buttonDiv"> <a href = "1-unknown.html"> ??? </a> </div> 
    </div> 

    <h3> Enter a list of numbers and find its mean, median, and mode! </h3> 
    <div id = "enterNumbers" class = "buttonDiv" onclick = "getNumbers()"> Enter numbers </div> 
    <div id = "mathButtonDiv" class = "buttonDiv" onclick = "mean()"> Mean </div> 
    <div id = "mathButtonDiv" class = "buttonDiv" onclick = "median()"> Median </div> 
    <div id = "mathButtonDiv" class = "buttonDiv" onclick = "mode()"> Mode </div> 

</div> 

Und hier ist die verknüpfte JS-Datei (der Dateiname "1-math.js" ist, so dass es mit dem Script-Tag über Spiele):

var nums = ""; 
function getNumbers() 
{ 
    nums = prompt("Enter a list of numbers separated by commas", "Put numbers here"); 
} 


//incomlete 

function mean(var numbers) 
{ 
    document.write("mean"); 
} 

function median(var numbers) 
{ 
    document.write("median"); 
} 

function mode(var numbers) 
{ 
    document.write("mode"); 
} 

Vielen Dank für jeden Hilfe, die Sie zur Verfügung stellen können! :)

+2

Randnotiz, IDs ** muss ** eindeutig sein – j08691

+0

Versuchen Sie, 'var numbers' innerhalb der Funktionsargumente zu entfernen, dh. 'function mean (var numbers)' wird 'function mean()' Warum hast du das da hineingelegt? – Marcus

+0

Sehen Sie sich die Konsole in den Entwicklertools Ihres Browsers an. Es weist auf Ihre Syntaxfehler hin. http://jshint.com/ wird das tun (möglicherweise deutlicher). – Quentin

Antwort

1

Verwenden Sie zuerst Ihre Browser-Konsole, um Fehler und solche anzuzeigen (normalerweise F12).

Der Fehler war, weil Sie in Ihren Funktionsparametern var numbers statt nur numbers verwendet haben.

Diese Geige könnte (richtige Funktion params zeigt, die Verwendung von console.log und nums die onclick Event-Funktionen vorbei) helfen:

https://jsfiddle.net/1jkzhxgd/

Und hier ist ein Schnipsel Inline-Code mit der gleichen Sache (obwohl es härter mit dem Inline console.log Ausgang zu benutzen ...)

var nums = ""; 
 
function getNumbers() { 
 
    nums = prompt("Enter a list of numbers separated by commas", "Put numbers here"); 
 
} 
 
function mean(numbers) { 
 
    console.log('mean', numbers); 
 
} 
 
function median(numbers) { 
 
    console.log('median', numbers); 
 
} 
 
function mode(numbers) { 
 
    console.log('mode', numbers); 
 
}
<div id="headerDiv"> 
 
    <h1> Math! </h1> 
 
</div> 
 

 
<div id="wrapperDiv"> 
 
    <h3> Enter a list of numbers and find its mean, median, and mode! </h3> 
 
    <div id="enterNumbers" class="buttonDiv" onclick="getNumbers()"> Enter numbers </div> 
 
    <div id="mathButtonDiv" class="buttonDiv" onclick="mean(nums)"> Mean </div> 
 
    <div id="mathButtonDiv" class="buttonDiv" onclick="median(nums)"> Median </div> 
 
    <div id="mathButtonDiv" class="buttonDiv" onclick="mode(nums)"> Mode </div> 
 

 
</div>