Dabei seit: 06.11.2008 Ort: Müllheim Alter: - Geschlecht: -
Verfasst Mo 14.12.2009 21:08 Titel
jQuery ignoriert einfach if-Funktion
Hi,
Zunaechst einmal danke dafuer, dass Ihr euch zeit für mein Anliegen nehmt.
Ich moechte gerne mein jQuery-Script (mit jquerytimers plugin) durch eine if-Bedingung steuern. Habe aber das Problem, sobald ich versuche eine Funktion per if zu steuern, wird die if einfach ignoriert, d.h. die everyTime-Schleife wird durchlaufen, obwohl height != 125px.
Waere super wenn jemand weiter wuesste.
Dabei seit: 19.06.2003 Ort: /dev/null Alter: 30 Geschlecht:
Verfasst Di 15.12.2009 10:24 Titel
height() liefert eine integer (ganzzahl) von pixeln ohne die angabe einer maßeinheit zurück.
Code:
($("#paper_green").css('height') == 125)
am besten lässt du dir mal per console.debug($("#paper_green").css('height')) solche values ausgeben, dann siehst du auch, dass kein "px" dahinter steht.
Zuletzt bearbeitet von sahnemuh am Di 15.12.2009 10:26, insgesamt 1-mal bearbeitet
Dabei seit: 06.11.2008 Ort: Müllheim Alter: - Geschlecht: -
Verfasst Di 15.12.2009 13:27 Titel
danke fuer deine antwort... nur leider ist mein problem damit nicht gelöst ... selbstverständlich habe ich es mit dem integer versucht, aber dann wird die schleife erst garnicht durchlaufen ... also die bedingung scheinbar nicht erfüllt.
der firebug debuger gibt folgendes aus:
Code:
>>> console.debug($("#paper_green").css('height'))
125px site (Zeile 71)
Zuletzt bearbeitet von kaischo am Di 15.12.2009 13:28, insgesamt 1-mal bearbeitet
Dabei seit: 19.06.2003 Ort: /dev/null Alter: 30 Geschlecht:
Verfasst Di 15.12.2009 14:00 Titel
gah. ich habe css("height") mit height() verwechselt. schande über mich
eigentlich sollte das dann so funktionieren.
hast du irgendwo ein beispiel online?
mal abgesehen davon:
$(this).click() wäre in deinem fall wohl document.click und nicht #paper_green, da es in der $(document).ready funktion ohne weiteren bezug steht - das ganze geschieht also bei jedem klick innerhalb des dokuments. ist das so gewollt?
Zuletzt bearbeitet von sahnemuh am Di 15.12.2009 14:01, insgesamt 1-mal bearbeitet
Dabei seit: 06.11.2008 Ort: Müllheim Alter: - Geschlecht: -
Verfasst Di 15.12.2009 15:06 Titel
es ist gewollt dass die everyTime-schleife nur durchlaufen wird wenn man auf die <div id="green_paper" /> klickt, und auch nur wenn fuer diese height:125px; gilt. Anderenfalls soll die schleife nicht durchlaufen werden.
Dabei seit: 11.12.2009 Ort: Dortmund Alter: 32 Geschlecht:
Verfasst Fr 18.12.2009 14:26 Titel
Hi,
das mit der height() kann leider so, bzw. nur am Anfang funktionieren.
Der Code
Code:
if ($("#paper_green").css('height') == '125px') {
wird nur beim initialen Start also beim Laden des Dokumentes überprüft. Danach nicht mehr. Bei den clicks verhält sich das ganze natürlich anders, weil dort ein Listener von jQuery initiiert wird, der "lauscht" ob geklickt wurde.
Wenn du es mit der Höhe machen willst, solltest du das ganze einfach anders rum machen. Also zum Beispiel so:
Code:
$("#paper_green").click(function(){
if ($("#paper_green").css('height') == '125px') {
// tue irgendwas
} else {
// tue was anderes oder auch gar nichts
}
}
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst an Umfragen in diesem Forum nicht mitmachen.