Breite des Fensterscrollbalken
Mit dem folgenden Code sollte sich die Breite des Scrollbalken des Browserfenster berechnen lassen.
Es ist nicht die Größe der Scrollbalken im Dokument, d.h. wenn die Schriftgröße geändert wird, passt das Beispiel nicht auf den Scrollbalken im Dokument. Ich habe bisher noch keinen Weg entdeckt, wie sich die Größe der scrollbalken im Dokument berechnen läßt.
javascript
function scrollbarWidth() { |
// Scrollbalken im Body ausschalten |
document.body.style.overflow = 'hidden'; |
var width = document.body.clientWidth; |
// Scrollbalken |
document.body.style.overflow = 'scroll'; |
width -= document.body.clientWidth; |
// Der IE im Standardmode |
if(!width) width = document.body.offsetWidth-document.body.clientWidth; |
// ursprüngliche Einstellungen wiederherstellen |
document.body.style.overflow = ''; |
return width; |
} |
Getestet im Standard- und Quirksmode in den Browsern IE 6+7, FF 2.x, MZ und OP 9. Laut Quirksmode müßte es auch im IE 5 funktionieren.
Beispiel
Die Breite der Scrollleiste beträgt: px
Berechnen
Andere Möglichkeiten
auf der Suche nach einer Lösung des Problems fand ich noch diese Seiten, die ebenfalls Möglichkeiten zur Berechnung der Scrollbalken bieten
- Alexander Gomes
- fleegix
Funktioniert leider nicht im IE
Comments (3)
5673 mal gelesen.
5673 mal gelesen.


3 Kommentare Einen Kommentar hinterlassen »
Kommentare
Samstag 4.April 2009: 1:02
Best snippet I've seen so far for this task
Donnerstag 27.Mai 2010: 22:32
Thanks, but with Firefox 3.6 it seems to always return 0 :S
Freitag 28.Mai 2010: 12:16
hmm? strange. I also use Fx 3.6 and got always some values.
But meanwhile I am doubt that these values are really useful. I did use it for my combobox script, but I never reached the goal, that I can calculate the real width of scrollbar of the select-field.
Einen Kommentar hinterlassen