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

War es hilfreich?

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 : {}
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top