Deux problèmes de barres de défilement?

Pour faire suite à cet article , j’ai fait un test, mais j’ai toujours un problème: la page comporte deux barres de défilement lorsque vous cliquez pour afficher l’image.

Je n’ai pas besoin de la barre de défilement en arrière-plan lorsque l’image est affichée, je n’ai besoin que de la barre de défilement sur le conteneur d’images.

Comment masquer la barre de défilement en arrière-plan sans rendre la page instable?

le css,

#container-image { position: fixed; top: 0; left: 0; width: 100%; height: 100%; overflow-x: auto; overflow-y: scroll; z-index:100; } 

le html,

 

Please scroll down until you see the click button



















































































































click











































































le jquery,

 $(document).ready(function(){ $('.get-photo').click(function(){ var object = $(this); var object_path = object.attr('href'); var scroll_top = $(window).scrollTop(); //alert(object_path); $('#container-image').show(); return false; }); }); 

Voici la page de test.

MODIFIER:

Juste réussi à cacher la barre de défilement du body et cela fonctionne sur tous les navigateurs acceptent IE8 – comment puis-je réparer IE ??

 $(document).ready(function(){ $('.get-photo').click(function(){ $('body').css('overflow', 'hidden'); var object = $(this); var object_path = object.attr('href'); var scroll_top = $(window).scrollTop(); var height_document = $(document).height(); //alert(object_path); $('#background-photo').css({ height:height_document + 'px', display:'block' }); $('#container-image').show(); return false; }); $('#items-image img').click(function(){ var object = $(this); $('body').css('overflow', 'auto'); $('#container-image').hide(); $('#background-photo').hide(); return false; }); }); 

MODIFIER:

IE8 fixe:

 $('body,html').css('overflow', 'hidden'); 

Définir le overflow: hidden sur le corps lorsque l’image est affichée, pour masquer les barres de défilement:

 $('body').css('overflow', 'hidden'); 

Je viens de supprimer dans les styles Firebug suivants:

 overflow-x: auto; overflow-y: scroll; 

et je peux voir le fond sans défilement. Essayez-le

Mais dans ce cas, si l’image d’arrière-plan est plus grande que la fenêtre du navigateur visible, vous ne pourrez jamais voir l’image entière à cause de la position:fixed