J'essaie d'activer la superposition pour être modale. Cela fonctionne parfaitement dans FireFox, mais l'objet fenêtre est derrière le masque quand il devient modal. Cela empêche toute interaction avec elle et la page est réellement inutile. J'ai essayé de déboguer ceci pendant un moment et ne peux pas le comprendre.jQuery outils problème d'affichage de superposition modale dans IE6-8
Voici un lien vers l'exemple sur leur site: http://flowplayer.org/tools/demos/overlay/modal-dialog.html
$.fn.cfwindow = function(btnEvent,modal,draggable){
//error checking
if(btnEvent == ""){
alert('Error in window :\n Please provide an id that instantiates the window. ');
}
if(!modal && !draggable){
$('#'+btnEvent+'[rel]').overlay();
$('#content_overlay').css('cursor','default');
}
if(!modal && draggable){
$('#'+btnEvent+'[rel]').overlay();
$('#content_overlay').css('cursor','move');
$('#custom').draggable();
}
if(modal){
$('#'+btnEvent+'[rel]').overlay({
// some mask tweaks suitable for modal dialogs
mask: {
color: '#646464',
loadSpeed: 200,
opacity: 0.6
},
closeOnClick: false
});
$('#content_overlay').css('cursor','default');
$('#custom').addClass('modal');
}
};
C'est ce que je fais référence quand je l'appelle par:
<script type="text/javascript">
$(document).ready(function(){
$(document).pngFix();
var modal = <cfoutput>#attributes.modal#;
var drag = #attributes.draggable#;
var btn = '#attributes.selector#';
var src = '#attributes.source#';
var wid = '#attributes.width#';
$('##custom').width(parseInt(wid));
$('div##load_content').load(src);
$('##custom').cfwindow(btn,modal,drag,wid);
});
</script>
CSS pour le modal:
<style type="text/css">
.modal {
display:none;
text-align:left;
background-color:#FFFFFF;
-moz-border-radius:6px;
-webkit-border-radius:6px;
}
</style>
Exclure les signes supplémentaires de la livre, IE. "##".
Capture d'écran du problème: http://twitpic.com/1tak06
Note: IE6 et IE8 ont le même problème.
Toute aide serait appréciée.
Update: HTML of the overlay/modal window:
<div class="simple_overlay" id="custom">
<div id="content_overlay">
<div id="handler">
<div id="headerss">
<h5 class="titless"><span style="color:##000000;">#attributes.title#</span></h5>
<div class="yellowRule"></div>
</div>
<div id="load_content">
</div>
</div>
</div>
</div>
Mise à jour: Ajouter extrémité avant
<!-- overlay triggers. overlay is referenced in the 'rel' attribute -->
<p>
<button rel="#custom" type="button" id="openWindow">Email</button>
</p>
<cf_eo_window2
title="This modal isn't working in IE!"
selector="openWindow"
draggable="false"
width="350"
modal="true"
source="import-test.cfm"
/>
Ouais. J'ai essayé d'ajouter l'index z déjà. Je vais ajouter le code HTML dès maintenant. –
Wow, c'est beaucoup de divs. Votre problème est peut-être que vous avez imbriqué votre div modal dans votre div overlay. La beauté des scripts modaux est qu'ils ignorent généralement la structure, tant qu'elle sait où trouver le contenu, IE le formulaire et la superposition. Essayez de sortir la partie qui est votre modal et voir si vous obtenez de meilleurs résultats. – edl
Merci pour la contribution. J'ai essayé ça et ça n'a aucun impact. En outre, chaque ensemble de div joue un rôle spécifique dans la conception personnalisée de la fenêtre. J'ai essayé de l'enlever aux bases et pourtant, toujours rien. –