2011-08-04 2 views
0

J'ai ce HTML. Flash # divs sont pour les objets flash (swfobjects). Il y a un conteneur div container2 que je veux placer sur son contenu, comme un rideau quand les objets flash sont mis à jour et reconstruits pour empêcher l'utilisateur de les cliquer.Container div sur son contenu

//rest of html code 
<div id="container2"> 
<div id="flash1"></div> 
<div id="flash2"></div> 
<div id="flash3"></div> 
<div id="flash4"></div> 
</div> 
//rest of html code 

J'ai essayé un div positionné absolu sur les divs flash pour y parvenir, mais cela ne fonctionne pas avec jQuery slidetoggle effet que je l'utilise dans une div précédente (il a un comportement de largeur bizarre qui rétrécit la page J'ai donc décidé d'essayer cette approche différente, qui semble aussi plus efficace.
Une idée de la façon d'y parvenir? Je suis ouvert principalement à jQuery mais aussi à strict Javascript ou autre.

+0

avez-vous essayé d'ajouter z-index pour tous les divs? Cela devrait faire l'affaire. position: absolute pour conteiner2 (btw: évitez un tel nom!) et z-index: 100, et pour toutes les autres positions: relative et z-index: 10 (z-index ne fonctionne que si la position est définie). si votre seul problème est la largeur, avez-vous essayé de le définir manuellement? avec quel navigateur avez-vous un problème avec slidetoggle? si c'est dans IE, alors il est bien connu, que vous ne devriez pas avoir de position: absolue, dans tous les navigateurs d'ordre cela fonctionne. Cependant, il y a quelques corrections à cela, par exemple, ils conseillent de régler la hauteur de 101% ou le zoom: 1. – mkk

+0

J'ai déjà ajouté un z-index à la fois divs flash et container2 (le nom est seulement pour rendre la question plus claire) dans le fichier CSS à -1 pour le premier et 1 pour le dernier. Je viens de fadeIn et fadeOut en utilisant les fonctions jquery – Kaplan

+0

ok, vous n'avez pas répondu à la question si vous avez ce problème uniquement dans Internet Explorer. J'ai récemment eu le même problème avec slidetoggle, seulement dans ce navigateur. J'avais suggéré plusieurs solutions de contournement, je ne sais pas si vous les avez essayées. Voici un article (avec des commentaires utiles) sur [slidetoggle dans Internet Explorer] (http://www.ndoherty.biz/2007/09/jquery-slidetoggle-and-internet-explorer/). Vous pouvez toujours essayer de mettre la position absolue à flash1, flash2, flash3 etc et l'enlever du container2 ... ce sera un peu plus de travail mais devrait faire l'affaire. – mkk

Répondre

0

Je suis finalement la solution de contournement proposée par MKK. Ceci est de supprimer complètement toute règle appliquée à la div slid et ont juste travaillé pour moi.
Simple mais efficace.

0

Supprimer div lorsque vous faites glisser vers le haut.
Ajouter div lorsque vous faites glisser vers le bas.

Bonne chance =)

0

Pour moi, vous devez ajouter un autre div intérieur du conteneur et l'utiliser pour superposer les obj flash. Laissez le conteneur en position: relatif et overflow: caché et utilisez un enfant div pour couvrir le contenu!

Marco

+0

Si je fais cela, je dois définir une valeur de hauteur et de largeur à cette div et cela provoque la page à se rétrécir quand une diapositive précédente div. – Kaplan

+0

Maintenant, je suis loin de mon mac. Si vous pouvez attendre ce soir, je vais essayer! Bye – EmarJ

+0

Eh bien, je suis coincé avec ce depuis lundi, un jour de plus ne fera pas beaucoup plus mal – Kaplan

Questions connexes