FlorentG a écrit :
Pourrait-tu poster le contenu de func.php ? Histoire de vérifier un truc
|
Ok alors je commence par la fonction PHP loadpopup donc je me sert en premier lieu :
Code :
- function loadpopup($msg, $height = 100, $width = 200)
- {
- $mesg = addslashes($msg);
- $browser = get_browser(null, true);
- if($browser["browser"] == 'IE' && $browser["majorver"] < 7) $ie = 1;
- echo '<script type="text/javascript" src="inc/lpop.php?msg='.urlencode($msg).'&height='.$height.'&width='.$width.'&ie='.$ie.'">
- </script>';
- }
|
lpop.php:
Code :
- <?php
- header("Content-Type: text/javascript" );
- require_once('pop.js');
- $mesg = addslashes(urldecode($_GET['msg']));
- echo 'var mesg = "'.$mesg.'";';
- echo 'var height = "'.$_GET['height'].'";';
- echo 'var width = "'.$_GET['width'].'";';
- echo 'var ie = "'.$_GET['ie'].'";';
- ?>
- pop(mesg, width, height, ie);
|
pop.js
Code :
- function opac(ie)
- {
- var divns6 = document.getElementsByTagName("div" );
- if(ie!=1)
- {
- divns6['A'].style.visibility = "visible";
- }
- divns6['B'].style.visibility = "visible";
- }
- function desopac(ie)
- {
- var divns6 = document.getElementsByTagName("div" );
- if(ie!=1)
- {
- divns6['A'].style.visibility = "hidden";
- }
- divns6['B'].style.visibility = "hidden";
- }
- function pop(mesg, width, height, ie){
- var msg = "<p style='margin: 0;'><a href='#' onclick='javascript:desopac();'><img src = 'images/croix.jpg' style='border:0;float: right;' alt='close'/></a><br />";
- var mesg2 = msg+mesg+"</p>";
- var divns6 = document.getElementsByTagName("div" );
- divns6["B"].style.width = width+"px";
- divns6["B"].style.height = height+"px";
- divns6["B"].innerHTML = mesg2;
- opac(ie)
- }
|
(et dans le body il faut que je mette
Code :
- <div id="A"></div>
- <div id="B"></div>
|
(je met le CSS approprié pour les interessé ^^)
Code :
- #A
- {
- top:0;
- left:0;
- width:100%;
- height:100%;
- visibility: hidden;
- margin: 0;
- padding: 0;
- position:absolute;
- background-color:#BBBBBB;
- opacity: 0.5;
- filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);
- }
- #B
- {
- visibility : hidden;
- margin: auto;
- position: absolute;
- width: 200px;
- height: 50px;
- left: 40%;
- top: 40%;
- border: 1px black solid;
- background-color: #44BB22;
- text-align: center;
- padding: 1px;
- }
|
Donc voilà cette fonction met un foreground gris à 50% d'opacité mais caché au début, lorsqu'on lance la fonction cela affiche le foreground et modifie le div central (qui était caché aussi) pour écrire ce que l'on veut dedans. Notez que j'ai désactivé la fonction du foreground si IE < 7 car ça déconne (ça n'est pas une question de transparence, mais que le foreground ne s'affiche bizarrement qu'en haut à gauche de l'écran, un tout petit rectangle...)
Voili
Message édité par tizard le 22-10-2006 à 14:14:22