Ergebnis 1 bis 9 von 9
-
21-07-2009, 11:38 #1
Doppel-As
- registriert
- 01-11-2007
- Beiträge
- 114
Crossbrowsing, offset & client
Guten Tag allerseits.
Nach langem Rumprobieren und Überlegen stehe ich mehr oder weniger am Ende meines Horizontes und meiner Ideen...
Es geht darum, eine "Animation" in mehreren Browser zum Funktionieren zu bringen. So weit so gut, wäre da neben FF, SM, Chrome, Opera und Safari nicht auch noch der IE :/
Die "Animation" besteht darin einen div-container größer bzw kleiner werden zu lassen. Damit er sich bei dieser veränderung nicht nur nach rechts unten vergrößert/links oben verkleinert wird der Abstand nach oben und links verkleinert/vergrößert.
Anmerkung: Es wird mehr in die Höhe vergrößert als in die Breite.
Wie aus meinem Post bis jetzt hervorgeht funktioniert es nicht im IE.
Problem: Beim Internet Explorer beginnt in dem Moment wo die Breite den gewünschten Wert erreicht hat, die größe sich nicht mehr zu ändern, allerdings der Abstand von oben weiterhin zu verkleinern, obwohl diese beiden Änderungen mit der gleichen IF-Bedingung "kontrolliert" werden.
PHP-Code://höhe
if(height < 230 && this.expandation_status == 'expanding') {
height += 4;
top -= 2;
this.object.style.height = height;
this.object.style.top = top;
}//höhe
Da ich mehrere div-conatainer auf die gleiche Art verarbeiten muss, ist das Ganze - mehr oder weniger - Objektorientiert (soweit es in JS möglich ist..).
object ist ein Attribut des Objekts und ist - so zu sagen - der div-container.
PHP-Code:function expand(){
var height = this.object.clientHeight;
var width = this.object.clientWidth;
var left = this.object.offsetLeft;
var top = this.object.offsetTop;
//breite
if(width < 170 && this.expandation_status == 'expanding') {
width += 2;
left--;
this.object.style.width = width;
this.object.style.left = left;
}//breite
//höhe
if(height < 230 && this.expandation_status == 'expanding') {
height += 4;
top -= 2;
this.object.style.height = height;
this.object.style.top = top;
}//höhe
//bildgröße
if(width <= 170) {
this.object.getElementsByTagName('img')[0].style.height = width;
this.object.getElementsByTagName('img')[0].style.width = width;
}//bildgröße
//rekursions_check
if((width < 170 || height < 230) && this.expandation_status == 'expanding')
window.setTimeout("cat_objects["+this.id+"].expand()", 0);
}//expand
Fehlerkonsole: Leider leer. :/
Hoffentlich könnt ihr mir helfen,
MartinGeändert von -=]SquweeZ[=- (21-07-2009 um 11:43 Uhr)
-
21-07-2009, 14:54 #2
AW: Crossbrowsing, offset & client
Was machst du da?
//bildgröße
if(width <= 170) {
this.object.getElementsByTagName('img')[0].style.height = width;
this.object.getElementsByTagName('img')[0].style.width = width;
}//bildgröße
PS: diese CSS-Eigenschaften erwarten eigentlich alle eine Einheit!
-
21-07-2009, 15:07 #3
Doppel-As
- registriert
- 01-11-2007
- Beiträge
- 114
AW: Crossbrowsing, offset & client
Testlink: http://squweez.sq.funpic.de/ca/index.html
Die Bildgröße ist in keinem Browser ein Problem...
siehs dir einfach im Firefox an, und anschließend im IE, dann wirst du sehn, wie schön divs davonfliegen können xD
Woran das liegt weiß ich eben nicht,..
Der erste Codesnip ist der einzige wo top negativ verändert wird (gibt das Gegenteil (bei mouse-out) wo top positiv verändert wird..)
Danke für die Hilfe,
Martin
-
22-07-2009, 11:38 #4
Doppel-As
- registriert
- 01-11-2007
- Beiträge
- 114
AW: Crossbrowsing, offset & client
Hab nun mittels einem Popup mir die Werte height und top ausgeben lassen.
Das ergebnis weicht natürlich im IE vom FF/Opera ab. (Aus Zeitgründen spar ich mir hier Chrome & Safari) Da der IE aus der Rekursion nicht rauskommt, musste ich das Popup während dieser aufrufen.
So und jetzt zu den Ergebnissen:
Code:Firefox/Opera Height: 104px Top: 225 ,Height: 108px Top: 223 ,Height: 112px Top: 221 ... ... ,Height: 172px Top: 191 ,Height: 176px Top: 189 ,Height: 180px Top: 187 ... ... ,Height: 224px Top: 165 ,Height: 228px Top: 163 ,Height: 232px Top: 161
Code:Internet Explorer Height: 104px Top: 225 ,Height: 106px Top: 223 ,Height: 108px Top: 221 ... ... ,Height: 170px Top: 159 ,Height: 172px Top: 157 ,Height: 174px Top: 155 ,Height: 174px Top: 153 ,Height: 174px Top: 151 ,Height: 174px Top: 149 ,Height: 174px Top: 147 ,Height: 174px Top: 141
Viel schlauer machen mich diese Ergebnisse aber auch nicht. Das einzige was ich jetzt weiß, ist, dass im IE 7 & 8 window.open nicht funktioniert...
Hab ihr vielleicht eine Idee?
e: Hab das ganze nun mit px-Angaben versucht... keine Änderung.
e2: Hab nun die komplette Ausgabe (außer IE (da die endlos wäre)) angehängt.
Hoffe ich/wir lösen bald das Problem,
MartinGeändert von -=]SquweeZ[=- (22-07-2009 um 11:41 Uhr)
-
22-07-2009, 13:10 #5
AW: Crossbrowsing, offset & client
Wieso liest du nicht style.height mit einem parseInt aus?
-
22-07-2009, 13:24 #6
Doppel-As
- registriert
- 01-11-2007
- Beiträge
- 114
AW: Crossbrowsing, offset & client
Hab ich eben probiert. Resultat: NaN
Wenn ich mir style.height mittels alert ausgeben, bekommen ich '' als String, obwohl das eigentlich per CSS gesetzt ist.
e: Das mit NaN hab ich jetzt so gelöst, dass ich im Constructor der Klasse einfach this.object.style.height = 100 und das gleiche auch für width gesetzt hab.
Resultat: Ich lächelnd bis über beide Ohren und 8 verschiedene Browser, in denen ich es bis jetzt getestet habe, und wo es funktioniert hat (FF, SM, Opera, Chrome, Safari, IE8, IE7, IE6).
Danke für die Hilfe !
MartinGeändert von -=]SquweeZ[=- (22-07-2009 um 13:40 Uhr)
-
22-07-2009, 14:20 #7
Lounge-Member
- registriert
- 18-08-2004
- Beiträge
- 14.671
-
22-07-2009, 14:38 #8
AW: Crossbrowsing, offset & client
Und das mit den Einheiten gilt immer noch.
-
22-07-2009, 15:18 #9
Doppel-As
- registriert
- 01-11-2007
- Beiträge
- 114
AW: Crossbrowsing, offset & client
Was ist bitte der Quirksmodus und wie stell ich den aus? Websitestyle: Default is wohl nicht der Standardmodus...
Jap, das mit den px hab ich eh im Code, und lediglich im Post vergessen.
e: Da hab ich mir wohl selbst ein Ei gelegt xD... der Quirksmode.. hab jz Strict als dtd.. thx fürs hinweisenGeändert von -=]SquweeZ[=- (23-07-2009 um 10:03 Uhr)
Ähnliche Themen
-
undefined offset
Von planet4 im Forum Serverseitige ProgrammierungAntworten: 10Letzter Beitrag: 04-10-2007, 07:30 -
Offset im Bezug aufs Haupt-Div
Von Spiritmonger im Forum JavaScriptAntworten: 10Letzter Beitrag: 11-06-2007, 18:24 -
[Allgemein] Unterschied Clientseitig und Serverseitig
Von jeko im Forum Tutorials PHPAntworten: 1Letzter Beitrag: 15-05-2006, 19:30 -
PHPmyAdmin als Client?
Von brainshock im Forum Tools und ProgrammeAntworten: 4Letzter Beitrag: 01-03-2006, 14:06 -
MouseXY Hilfe bei Scrollleisten Offset
Von defcon5 im Forum JavaScriptAntworten: 1Letzter Beitrag: 21-06-2005, 12:08
Lesezeichen