| 

.NET C# Java Javascript Exception

0
ich möchte, dass meine callback aufgerufen wird, wenn sie die höhe eines elements/divs ändert. gibt es ein entsprechendes event, welches ich mit jquery verwenden kann? das window.resize event scheint nur auf dem window-objekt zu funktionieren und betrifft die größe des browser-fensters.
29.01.2011
ace 31 1 2
1 Antwort
0
das sollte gehen.

$('DIV').resize(function(){ });


Alternativ gibts hier nen Trick der scheinbar funktioniert: http://benalman.com/code/projects/jquery-resize/examples/resize/
Wobei mir die Lösung nicht 100% zusagt da für Sie ein IFrame verwendet wird, aber schau selbst.

Eine andere Lösung wäre einen Timer zu nehmen (setInterval) und die größen alle 200ms zu vergleichen. Noch besser wäre es das Property-Change-Event zu verwenden das mache Browser haben:

if (typeof(z.onpropertychange) == "object")
el.bind("propertychange", fnc);
else if ($.browser.mozilla)
el.bind("DOMAttrModified", fnc);
else
itId = setInterval(fnc, interval);


Das Event wird bei allen Änderungen am CSS oder an den Attributen gefeuert, wobei ich nicht sicher bin ob es auch gefeuert wird wenn sich die Größe des DIVs nur durch Änderung des computedStyle verändert (also DIVs mit height:auto;).
29.01.2011
Floyd 14,6k 3 9
Floyd 14,6k 3 9
Das geht empirisch nicht... Ich denke, es hat damit zu tun, dass das resize event nur für window.resize existiert.
ace 29.01.2011

Stelle deine Javascript-Frage jetzt!