Wie Bildlaufleisten mit JavaScript deaktivieren?
-
05-07-2019 - |
Frage
Ich brauche den Browser Scrollbalken zu verriegeln, wenn ich ein div zeigen, dass ein modales Fenster in Internet Explorer 7 nur darstellen.
Googeln fand ich, dass ich document.body.style.overflow='hidden'
verwenden kann, aber dies für IE7 funktioniert nicht. Ich habe auch mit document.body.scroll="no"
versucht, die sich über die Scrollbar aber erst, nachdem ich die Maus funktioniert: -S
Hat jemand kennt eine bessere aproach?
Thansks
Lösung
Um die verschiedenen Fragen zu beantworten (einschließlich des in der anderen Kommentar), ich glaube, Sie die falsche Positionierung Methode verwenden.
Versuchen position:fixed
. Es ist im Grunde die gleichen wie position:absolute
außer es zum absoluten Ansichtsfenster relativ ist. D. h., Wenn der Benutzer blättert, das Element bleibt an der gleichen Stelle auf dem Bildschirm
Also in diesem Sinne, können Sie eine position:fixed
Overlay legen. Innerhalb dass können Sie Ihre position:absolute
(oder fixed
wieder, wenn Sie es vorziehen - es nicht einen Unterschied machen) haben modale Feld
Andere Tipps
Stellen Sie Ihre modal Overlay div den Körper zu füllen, so dass selbst wenn sie bewegen, es gibt nichts was sie tun können, weil alles unter ihm verborgen ist.
Sie können auch Bildlaufleisten ausblenden, indem overflow:hidden
mit so pflegt der Benutzer die scollbars sehen, so wird es nicht bekommen versucht zu Scoll um:)
Dies kann Ihnen helfen:
documentOBJ = {
/*Width and Height of the avaible viewport, what you'r seeing*/
window : {
x : function(){return (document.documentElement && document.documentElement.clientWidth) || window.innerWidth || self.innerWidth || document.body.clientWidth; },
y : function(){return (document.documentElement && document.documentElement.clientHeight) || window.innerHeight || self.innerHeight || document.body.clientHeight;}
},
/*Scroll offset*/
scroll : {
x : function(){return ( document.documentElement && document.documentElement.scrollLeft) || window.pageXOffset || self.pageXOffset || document.body.scrollLeft; },
y : function(){return ( document.documentElement && document.documentElement.scrollTop) || window.pageYOffset || self.pageYOffset || document.body.scrollTop; }
},
/*Height and width of the total of the xhtml in a page*/
page : {
x : function(){return (document.documentElement && document.documentElement.scrollWidth) ? document.documentElement.scrollWidth : (document.body.scrollWidth > document.body.offsetWidth) ? document.body.scrollWidth : document.body.offsetWidth; },
y : function(){return (document.documentElement && document.documentElement.scrollHeight) ? document.documentElement.scrollHeight : (document.body.scrollHeight > document.body.offsetHeight) ? document.body.scrollHeight : document.body.offsetHeight; }
},
pointer : {}
}