Was ich mache ist ein Minispiel, in dem Benutzer "Magnete" (eigentlich Bilder) von Wörtern ziehen und ablegen können, um aktives Schreiben zu erstellen Sätze. Um zu beurteilen, ob der Satz korrekt ist, habe ich im Drop-Bereich divs ein Datenattribut "Datenpunkt" erstellt und auf den Bildern ein Datenattribut "Datenwort" erstellt. Wenn das in "Datenwort" enthaltene Wort mit dem in "Datenpunkt" enthaltenen Wort übereinstimmt, ist es eine Übereinstimmung. Diese Auswertung erfolgt auf Knopfdruck "Meine Arbeit überprüfen". Im Moment habe ich eine Funktion erstellt, die überprüfen soll, ob die Magnete für Satz 1 passen und wenn sie alle übereinstimmen, sollte sie 1 zur Punktzahl hinzufügen.Jquery bekommt den Wert eines Elementattributs und sieht, ob es den Wert eines anderen Attributs erzeugt
Mein Problem ist, dass ich bekomme "Wordpuzzle.js: 27 Uncaught ReferenceError: $ das ist nicht definiert". Ich habe überprüft und meine Links zu jquery sind am Ende meines HTML und meine Javascript-Datei ist unter den jquery-Dateien verknüpft, so dass das nicht das Problem ist. Ich denke, das Problem ist die Logik ich die Attributwerte unter dem // auf Senden klicken in meinem Jquery wählen, aber ich habe überprüft, und ich habe keinen Fehler gemacht ...
<!doctype html>
<html lang="en">
<head>
<title>PR Active Writing</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<link rel="stylesheet" href="css/wordpuzzle2.css">
<link href='https://fonts.googleapis.com/css?family=Yesteryear' rel='stylesheet' type='text/css'>
</head>
<body>
<image src="images/PR-Active-Writing-Whiteboard.png" alt="whiteboard picture" id="backgroundimage"/>
<div id="startmessage">
<h1>Welcome to the PR Active Writing Game</h1>
<h2>Instructions</h2>
<div>For clear, concise and strong sentences, PR writers use the active voice.
When you click on the ‘begin’ button you will be shown a sentence that is
written in passive voice, your task is to rearrange the words to change the
sentence to active voice. There is a word bank to choose extra or different
words from. Simply drag the words into their correct spot and when you are
satisfied with your answer click the ‘Check my work’ button.
</div>
<button id="startactive">BEGIN</button>
</div>
<div id="wordbank">
<h1>Word Bank:</h1>
<image src="images/magnet-broken.png" alt="broken" data-word="broken" class="magnet"/>
<image src="images/magnet-city.png" alt="city" data-word="city" class="magnet"/>
<image src="images/magnet-did.png" alt="did" data-word="did" class="magnet"/>
<image src="images/magnet-distroyed.png" alt="destroyed" data-word="destroyed" class="magnet"/> <!--typo in the word "destroyed"-->
<image src="images/magnet-fixed.png" alt="fixed" data-word="fixed" class="magnet"/>
<image src="images/magnet-for.png" alt="for" data-word="for" class="magnet"/>
<image src="images/magnet-give.png" alt="give" data-word="give" class="magnet"/>
<image src="images/magnet-half.png" alt="half" data-word="half" class="magnet"/>
<image src="images/magnet-house.png" alt="house" data-word="house" class="magnet"/>
<image src="images/magnet-instructions.png" alt="instructions" data-word="instructions" class="magnet"/>
<image src="images/magnet-Mike.png" alt="Mike" data-word="Mike" class="magnet"/>
<image src="images/magnet-of.png" alt="of" data-word="of" class="magnet"/>
<image src="images/magnet-over.png" alt="over" data-word="over" class="magnet"/>
<image src="images/magnet-professor.png" alt="professor" data-word="professor" class="magnet"/>
<image src="images/magnet-profit.png" alt="profit" data-word="profit" class="magnet"/>
<image src="images/magnet-projects.png" alt="projects" data-word="projects" class="magnet"/>
<image src="images/magnet-Sam.png" alt="Sam" data-word="Sam" class="magnet"/>
<image src="images/magnet-sells.png" alt="sells" data-word="sells" class="magnet"/>
<image src="images/magnet-students.png" alt="students" data-word="students" class="magnet"/>
<image src="images/magnet-the.png" alt="the" data-word="the" class="magnet"/>
<image src="images/magnet-the2.png" alt="the" data-word="the" class="magnet"/>
<image src="images/magnet-the3.png" alt="the" data-word="the" class="magnet"/>
<image src="images/magnet-The4.png" alt="The" data-word="The" class="magnet"/>
<image src="images/magnet-The5.png" alt="The" data-word="The" class="magnet"/>
<image src="images/magnet-their.png" alt="their" data-word="their" class="magnet"/>
<image src="images/magnet-thesis.png" alt="thesis" data-word="thesis" class="magnet"/>
<image src="images/magnet-watch.png" alt="watch" data-word="watch" class="magnet"/>
<image src="images/magnet-well.png" alt="well" data-word="well" class="magnet"/>
<image src="images/magnet-wildfire.png" alt="wildfire" data-word="wildfire" class="magnet"/>
<image src="images/magnet-will.png" alt="will" data-word="will" class="magnet"/>
<image src="images/magnet-you.png" alt="you" data-word="you" class="magnet"/>
<image src="images/magnet-your.png" alt="your" data-word="your" class="magnet"/>
</div>
<div id="sentences">
<h1>Sentences:</h1>
<p>The thesis projects were done well by the students.</p>
<div id="senone"><div class="mdroppable" data-spot="The"> </div> <div class="mdroppable" data-spot="students"> </div> <div class="mdroppable" data-spot="did"> </div> <div class="mdroppable" data-spot="their"> </div> <div class="mdroppable" data-spot="thesis"> </div> <div class="mdroppable" data-spot="projects"> </div> <div class="mdroppable" data-spot="well"> </div></div>
<p>More than half of the city was destroyed by the wildfire.</p>
<div id="sentwo"><div class="mdroppable" data-spot="The"> </div> <div class="mdroppable" data-spot="wildfire"> </div> <div class="mdroppable" data-spot="destroyed"> </div> <div class="mdroppable" data-spot="over"> </div> <div class="mdroppable" data-spot="half"> </div> <div class="mdroppable" data-spot="of"> </div> <div class="mdroppable" data-spot="the"></div><div class="mdroppable" data-spot="city"></div></div>
<p id="senthree">Instructions will be given to you by your professor.</p>
<p id="senfour">The broken watch was fixed by Mike.</p>
<p id="senfive">The house was sold for a profit by Sam.</p>
<button id="checkmywork">CHECK MY WORK</button>
</div>
<div id="successmessage">
<p id="success1">Excellent job! You got 4-5 answers correct! Here are the correct sentences.</p>
<p id="success2">Not bad! You got 2-3 answers correct! Here are the correct sentences.</p>
<p id="success3">You might want to brush up on your active writing before considering Public relations. You got 0-1 answers correct. Here are the correct sentences.</p>
</div>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.9/jquery-ui.min.js"></script>
<script type="text/javascript" src="js/wordpuzzle.js"></script>
</body>
</html>
dies mein jquery ist :
$(document).ready(function(){
var pruserScore = 0;
$("#successmessage").hide();
$("#sentences").hide();
$("#startactive").click(function(){
$("#startmessage").hide();
$("#sentences").show();
})
//makes the magnets draggable
$(dragmagnet);
function dragmagnet() {
$(".magnet").draggable({
snap: ".mdroppable",
cursor: 'move'
});
}
//makes underline areas droppable
$(".mdroppable").droppable();
//on submit click
$("#checkmywork").click(function(){
$(".mdroppable").each(function(){
if ($("#senone .mdroppable").attr('data-spot',$(this).val()) === $(".magnet").attr("data-word",$this.val())){
pruserScore += 1;
console.log(pruserScore);
}
else{console.log("it's wrong");}
});
})
});
'$ (this)' nicht '$ this' ??? Ich sehe nirgends "$ this" in deinem Code definiert ... Und sei dir nur bewusst, dass dein Spiel einfach zu hacken wäre, aber ich denke, du hast es nur aus Unterhaltungsgründen gemacht. EDIT: Ich sehe sowieso Ihre Check-Bedingung ist falsch, vergleichen 'attr()' Setter, die jq Matched-Set zurückgeben, nicht Attribut Wert –