jQuery/CSS: fixe de superposition ne devrait pas permettre le défilement de fond?
j'ai une superposition de la zone qui est fixe et centré sur l'écran. La page elle-même est plutôt long et a une barre de défilement verticale.
J'aimerais désactiver le défilement de la page elle-même une fois que la superposition est montré. Cependant je ne peux pas désactiver le défilement complètement, car certaines incrustations ont overflow-y:scroll
pour eux-mêmes. De sorte que le contenu dans le revêtement doit être défile mais la page elle-même doit être collé.
Une idée de comment résoudre ça avec jquery ou css?
Je pense que vous vouliez dire 'overflow-y: scroll" et non pas "overflox-y' 😉
jep! 🙂 il fixe. je vous remercie.
jep! 🙂 il fixe. je vous remercie.
OriginalL'auteur matt | 2011-07-25
Vous devez vous connecter pour publier un commentaire.
Les plus rapides et les plus sales de façon que je peux penser à est de brancher un écouteur d'événement à la fenêtre pour faire défiler les événements, et preventDefault() si votre superposition est visible.
comme (à l'aide de jquery).
Espère que c'est ce que vous cherchez.
e.preventDefault();
ne fonctionne pas pour de défilement de la fenêtre pour moi.OriginalL'auteur AshHeskes
Vous pouvez définir la
body
àoverflow: hidden
. Cela permettra d'éviter le défilement. Enfant de dépassement des déclarations de rester insensible. J'ai fait un peu de violon.j'ai pensé à une solution qui empêche l'onScroll gestionnaire de défilement
Cela a fonctionné parfaitement de moi dans le maintien de la superposition de défilement, mais le corps ne pas faire défiler plus.. super!
Cette habitude de travailler, mais il n'est plus pris en charge dans le navigateur Safari Mobile. Triste visage!
plus d'un si vous avez toujours apprécier quelqu'un, y compris le violon!
OriginalL'auteur marc
Juste un ajustement de Marc jQuery solution. Mon code désactive le corps de défilement incrustation s'affiche, puis quand le corps ou la superposition de fermer le bouton est cliqué, le corps de défilement est activé de nouveau.
Voici un petit JSFiddle de mon script en action.
OriginalL'auteur Studocwho
Vous pouvez positionner votre superposition comme un
{position: fixed;}
. Qui gardez votre superposition sur votre écran même si votre page défile.eh bien, dans ce cas vous pouvez utiliser le méchant hacks. Avez-vous essayer de changer de corps
overflow
àhidden
?le problème c'est que les sauts de page quelques pixels depuis la barre de défilement disparaît. d'autres idées? peut-être avec jquery?
Super! "Fixe" travaillé
OriginalL'auteur jrharshath
Vous pouvez créer une toute la largeur et toute la hauteur du conteneur, avec
position: fixed
. Et à l'intérieur de ce conteneur créer votre superposition avec info. Le contenant essentiellement des stores à l'utilisateur de défilement ou d'interagir avec la page.OriginalL'auteur jeroen