Comment faire pour désactiver les barres de défilement avec le JavaScript?
J'ai besoin de verrouiller le navigateur, les barres de défilement lorsque je fais preuve d'une div qui représentent une fenêtre modale dans Internet Explorer 7.
Une recherche sur google, j'ai trouvé que je peux utiliser document.body.style.overflow='hidden'
mais cela ne fonctionne pas pour IE7. J'ai aussi essayé avec document.body.scroll="no"
qui fonctionne, mais seulement après que j'ai de la souris sur la barre de défilement :-S
Quelqu'un connait une meilleure approche?
Thansks
OriginalL'auteur Flupkear | 2009-01-07
Vous devez vous connecter pour publier un commentaire.
Pour répondre à vos différentes questions (y compris celle de votre autre commentaire), je pense que vous utilisez le mauvais positionnement de la méthode.
Essayer
position:fixed
. C'est essentiellement le même queposition:absolute
outre il est relatif à l'absolu, dans la fenêtre d'affichage. C'est à dire: si l'utilisateur fait défiler, l'élément reste dans le même endroit sur l'écran.Donc, avec cela à l'esprit, vous pouvez jeter un
position:fixed
de superposition. Dans que vous pouvez avoir votreposition:absolute
(oufixed
encore, si vous préférez -- il ne devrait pas faire une différence) modal box.Merci je n'aurais jamais pensé que cela! Vous avez sauvé mon cul.
Je savais que la différence, mais je ne savait pas quand utiliser chacun, jusqu'à ce que votre réponse. Merci.
Notez que la "position:fixed" est l'une des propriétés CSS2 qui pose problème, dans IE6. Si cette solution ne fonctionnera pas si vous avez à l'appui de IE6 en plus de IE7.
OriginalL'auteur Oli
Définir votre superposition modale div pour remplir le corps, donc, même s'ils défiler il n'y a rien qu'ils peuvent faire, parce que tout est cachée en dessous.
ne pouvez-vous pas juste à 100%
Si vous utilisez jquery, tu peux faire $("body").width() et $("body").hauteur() pour obtenir le corps de la largeur et de la hauteur dans un croix-navigateur compatible.
L'application que je suis en train de travailler sur utilise Prototype, je ne pouvais pas trouver un moyen de Prototype pour obtenir la vraie hauteur. Hauteur de 100% ne fonctionne pas non plus. Je l'ai réparé avec position:fixed
OriginalL'auteur Joel Coehoorn
vous pouvez également masquer les barres de défilement en utilisant
overflow:hidden
de sorte que l'utilisateur ne verrez pas la scollbars alors il l'habitude de se laisser tenter à scoll autour:)OriginalL'auteur Quamis
Cela peut vous aider:
OriginalL'auteur nahum silva