scriptproblem
scorn
- javascript
Hut sei mit euch!
Es würde mich erfreuen, wenn mir jemand eine brauchbare (!) Antwort gäbe, dann würde mein Herz quasi vor Freude hüpfen, also seid so lieb, ja? Dankeschön!
Ich benutze ein Javascript um "Meinungen zum Mitnehmen" zu realisieren.
http://users.skynet.be/fa048778/service/meinung.html
Das Script sieht so aus:
function meinung(bild) {
var mein = document.getElementById("schrift").firstChild.nodeValue;
document.images[bild].src = "../src/meinungen/meinungen2.gif";
var politik = 0;
if(bild=="politik") {
if(politik==0)mein= "Renate Kuenast ist frisch und knackig.";
if(politik==1) {
mein= "Arr! Die CDU, die hat noch Zucht und Ordnung!";
politik = 0;
}
politik++;
}
}
In der Originalversion sind da halt noch mehr Kategorien und Meinungen.Der relevante Teil in HTML:
<a href="javascript:meinung('politik')" onfocus="this.blur()"><img src="../src/meinungen/meinungen.gif" width="138" height="222" alt="Meinungen zum Mitnehmen" name="politik"></a>
<div id="schrift">In den Tüten sind jede Menge frischgebackene Meinungen zu jede Menge Themen. Einf ach aufreißen (Mausklick)!</div>
Nun funktioniert erstens die Variable nicht:
Ich muss ihren Inhalt überall statt "mein" einsetzen, damit sich was tut: Warum? Wenn ich das nicht tue und nachher den Inhalt abfrage, ist er "offiziell" geändert. Da kann ich mir keinen Reim drauf machen, aber damit kann ich leben: Mein echtes Problem ist:
Es wird immer wieder dieselbe Meinung angezeigt, als ob die Variable nicht erhöht würde. Wird sie aber doch. Oder?
vielen Dank für Feedback
scorn
n'Abend.
Hut sei mit euch!
Hut? Sonnen-Hut? Der aus Griechenland?
Es würde mich erfreuen, wenn mir jemand eine brauchbare (!) Antwort gäbe, dann würde mein Herz quasi vor Freude hüpfen, also seid so lieb, ja?
Hmm, na gut, aber nur wegen dem Sonnenhut.
Dankeschön!
Bitteschön.
Ich benutze ein Javascript um "Meinungen zum Mitnehmen" zu realisieren.
Nun funktioniert erstens die Variable nicht:
Ich muss ihren Inhalt überall statt "mein" einsetzen, damit sich was tut: Warum? Wenn ich das nicht tue und nachher den Inhalt abfrage, ist er "offiziell" geändert. Da kann ich mir keinen Reim drauf machen
Hier
var mein = document.getElementById("schrift").firstChild.nodeValue;
weist du der variable "mein" den Wert des Textknotens des divs mit der id "schrift" zu, d.h. die Variable hat dann den Wert "In den Tüten...". So, du willst aber das Objekt in "mein" speichern, nicht die Eigenschaft, d.h. du solltest
var mein = document.getElementById("schrift").firstChild;
schreiben und später die frischgebackenen Meinungen an mein.nodeValue aushändigen.
Mein echtes Problem ist:
Es wird immer wieder dieselbe Meinung angezeigt, als ob die Variable nicht erhöht würde. Wird sie aber doch. Oder?
Ja, das wird sie, bringt aber nichts, da die Variable zum Einen keine globale ist und sie zum Zweiten in der Funktion selbst zwei mal wieder auf 0 zurück gesetzt wird.
Na ja, da ich meinen Sonnenhut mag und es in Griechenland auch nicht schlecht war, geb' ich dir einen Hinweis, wie es aussehen würde, wenn dein Skript denn ein wenig zurechtgetüddelt wurde:
<script type="text/javascript">
<!--
politik = 0;
sport = 0;
function meinung(bild)
{
var mein = document.getElementById("schrift").firstChild;
document.images[bild].src = "../src/meinungen/meinungen2.gif";
if(bild == "politik")
{
if(politik == 0){mein.nodeValue = "Renate Kuenast ist frisch und knackig."}
if(politik == 1){mein.nodeValue = "Schroeder sollte sich eine Dauerwelle machen lassen."}
if(politik == 2){mein.nodeValue = "Eine Oekosteuer ist gut fuer die, die, die.., das KabelEins-Fernsehprogramm."}
if(politik == 3){mein.nodeValue = "Wir sind keine Leitkultur"}
if(politik == 5){mein.nodeValue = "Arr! Die CDU, die hat noch Zucht und Ordnung!"}
politik++;
}
if(bild == "sport")
{
if(sport == 0){mein.nodeValue = "Boxen ist immer noch eine Sportart mit Zukunft."}
if(sport == 1){mein.nodeValue = "Bayern Muenchen wird St. Pauli plattmachen."}
if(sport == 2){mein.nodeValue = "Also Schalke 04 sind ja wohl immer noch die besten."}
if(sport == 3){mein.nodeValue = "Schumi ist toll."}
if(sport == 4){mein.nodeValue = "Tennis ist lustiger als Hockey."}
if(sport == 5){mein.nodeValue = "Wrestling ist bloed und brutal!"}
if(sport == 6){mein.nodeValue = "Hahnenkaempfe sind altmodisch."}
sport++;
}
}
//-->
</script>
Zudem wäre noch zu empfehlen die Variable politik bzw. sport wieder auf 0 zu setzen, wenn alle frischgebackenen Meinungen durch sind.
Gruß
Norbert
Noch n'Abend.
Zudem wäre noch zu empfehlen die Variable politik bzw. sport wieder auf 0 zu setzen, wenn alle frischgebackenen Meinungen durch sind.
Schon gut, das tust du ja bereits, ich hab einfach alle politik = 0 und sport = 0 rausgenommen, als ich das Klammergewusel sortiert habe, 'tschuldigung, mein Fehler.
Gruß
Norbert
Hoi.
Mit dem Script klappt jetzt soweit alles
(vielen, vielen Dank). Das halbwegs fertige is online. Unter der alten Adresse. Mit dem Script habe ich keine Probleme mehr.
Bloß macht was anderes jetzt ein Problem. Allerdings CSS. Der Mozilla 1.2b MacOs scheint mein padding-right für #schrift an das padding-left anzufuegen. Und IE und Mozilla interpretieren mein vertical-align:middle einfach nicht. Mit dem valign kann ich leben, aber das padding nervt ziemlich. Irgendjemand so gütig? (http://users.skynet.be/fa048778/service/meinung.html)
vielen Dank
scorn
PS.:
Von mir aus auch ein Sonnenhut, danke für die Hilfe.