wahsaga: Safari und <div>s ohne gesetzte Breite

Beitrag lesen

hi globe,

mangels Safari kann ich zu den Ursachen des Problems nicht viel sagen.

Der switchTo-Funktion, welche den Tausch des aktuell sichtbaren Panels regelt, habe ich dann folgende Zeile hinzugfügt:

panels[tabID].width = panels[currentID].offsetWidth + 'px';

  
Wobei du im aktuell unter zuvor genanntem URL eingebundenen Script das anhängen der Maßeinheit 'px' noch auskommentiert hast - ist das beabsichtigt?  
  
~~~javascript
 // set width of panel switching to, to compensate some safari lacks  
 panels[tabID].width = panels[currentID].offsetWidth;// + 'px';

Lustig ist, wenn ein Tab - welches rechts vom aktuellen angeordnet ist - angeklickt wird, wird das Panel nun mit gewünschter Breite angezeigt. Wird allerdings ein Panel links vom aktuellen angeklickt, so ist das Panel wieder ~40px breit. Obige Zeile wird aber bei jedem switchTo ausgeführt, ob ein Panel rechts oder links vom Aktuellen liegt, spielt bei der Funktion absolut keine Rolle.

Kann ich wie gesagt mangels eines Safaris zum Nachvollziehen nichts zu sagen.

Aber generell: Aus welchem Grund ist es denn erforderlich, die Breite für ein einzublendendes Tab aus der des aktuell eingeblendeten herzuleiten? Ich kann das aktuell noch nicht ganz nachvollziehen.
Wäre es nicht vielleicht auch möglich, bspw. die Breite des umgebenden Containers abzufragen? (Oder spricht da dann wieder eine margin/padding-Geschichte dagegen?)

Meine Theorie ist, dass Safari ein Problem damit hat, wenn das anzuzeigende <div> oberhalb des aktuellen liegt - was es im Falle eines Tabs zur Linken des Aktuellen ja tut.

Mit "oberhalb" meinst du im Quelltext bzw. DOM-Baum vor einem anderen liegend?
Auf die Darstellung ist es wohl nicht bezogen - zumindest sehe ich dich nirgends z-index zum ein-/ausblenden von Tabs benutzen, denn das machst du ja über display.

gruß,
wahsaga

--
/voodoo.css:
#GeorgeWBush { position:absolute; bottom:-6ft; }