Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1079 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [Javascript CSS] Flashbox

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Javascript CSS] Flashbox

n°1324736
clear
Posté le 14-03-2006 à 01:09:22  profilanswer
 

Salut,
j essaye de faire une flash box, meme chose que la lightbox mais avec du flash dedans :)
 
J ai donc un layer qui fait 100% qui apparait et disparait.
 
Mon doc doit absolument etre en XHTML. Je sais que si je le passe en HTML ca fonctionne, par contre en XHTML sous ie le layer ne fait plus 100% de la hauteur ...
 
Un coup de main plz :'(
 
La page :
 

Code :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <title>Untitled Document</title>
  5. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  6. <link href="style.css" rel="stylesheet" type="text/css">
  7. <script language=javascript type='text/javascript'>
  8. function hideDiv(pass) {
  9. var divs = document.getElementsByTagName('div');
  10. for(i=0;i<divs.length;i++){
  11. if(divs[i].id.match(pass)){//if they are 'see' divs
  12. if (document.getElementById) // DOM3 = IE5, NS6
  13. divs[i].style.visibility="hidden";// show/hide
  14. else
  15. if (document.layers) // Netscape 4
  16. document.layers[divs[i]].display = 'hidden';
  17. else // IE 4
  18. document.all.hideShow.divs[i].visibility = 'hidden';
  19. }
  20. }
  21. }
  22. function showDiv(pass) {
  23. var divs = document.getElementsByTagName('div');
  24. for(i=0;i<divs.length;i++){
  25. if(divs[i].id.match(pass)){
  26. if (document.getElementById)
  27. divs[i].style.visibility="visible";
  28. else
  29. if (document.layers) // Netscape 4
  30. document.layers[divs[i]].display = 'visible';
  31. else // IE 4
  32. document.all.hideShow.divs[i].visibility = 'visible'
  33. ;
  34. }
  35. }
  36. }
  37. </script>
  38. <script language="JavaScript" type="text/JavaScript">
  39. <!--
  40. function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  41.   if (init==true) with (navigator) {if ((appName=="Netscape" )&&(parseInt(appVersion)==4)) {
  42.     document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  43.   else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
  44. }
  45. MM_reloadPage(true);
  46. //-->
  47. </script>
  48. </head>
  49. <body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
  50. <div id="layer1"><table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0"><tr><td><table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0"><tr valign="middle"><td><div align="center"><table width="500" border="0" cellspacing="0" cellpadding="0"><tr><td width="500" height="11"><a href="javascript:hideDiv('flash1')"></a><a href="javascript:hideDiv('layer1')"><img src="img/flash_close.jpg" alt="close" width="500" height="11" class="thumb" /></a></td></tr><tr><td width="500" height="438"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" id="lambo" width="500" height="438" align="middle"><param name="movie" value="swf/lambo.swf" /><param name="quality" value="high" /><embed src="swf/lambo.swf" quality="high" width="500" height="438" id="lambo" name="lambo" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /></object></td></tr></table></div></td></tr></table></td></tr></table></div>
  51. <a href="javascript:showDiv('layer1')">Show Div 256</a>
  52. </body>
  53. </html>


 
Le CSS attacher :
 
 

Code :
  1. #layer1{
  2. position:absolute;
  3. left:0;
  4. top:0;
  5. width:100%;
  6. height:100%;
  7. z-index:1;
  8. background-color:#333;
  9. -moz-opacity: 0.8;
  10. opacity:.80;
  11. filter: alpha(opacity=80);
  12. visibility:hidden;
  13. }


 
Vous pouvez aller le tester a :
 
http://cbolavie.free.fr/flashbox/test.htm
 

mood
Publicité
Posté le 14-03-2006 à 01:09:22  profilanswer
 

n°1324780
gatsu35
Blablaté par Harko
Posté le 14-03-2006 à 08:54:06  profilanswer
 

Vu les pietres connaissances que tu as en développement Web je te déconseille fortement de passer au xHTML surtout pour faire un bouzin totalement stupide et incompatible avec du xHTML standard.
 
De plus dans ton code Javascript il y a pleins de choses qui ne sont pas aux normes, et tu peux virer les lignes qui relatent de documents.layer et document.all
maintenant c'est document.getElementById("" ) pour attaquer un objet en JS.
 
Sinon tu pourrais nous montrer le doctype que tu utilisais avant ? tu as du passer du mode quirk au mode strict sans y faire attention.
 
Doit y avoir un problème de Modele de boite W3C dans les parages, mais désolé je n'ai pas le temps de corriger tout cela

n°1324785
gatsu35
Blablaté par Harko
Posté le 14-03-2006 à 09:16:26  profilanswer
 

Encore une chose, quand je vois 3  tableaux imbriqués je trouve que il y a un sérieux problème non ?

n°1324826
clear
Posté le 14-03-2006 à 10:14:24  profilanswer
 

desoler, je suis en effet completement debutant en developpement javascript ... il faut bien debuter un jour ....
 
Merci de m avoir juste conseiller d abandonner sans me donner la moindre solution !
 
Ca c du coup de main !

n°1324849
gatsu35
Blablaté par Harko
Posté le 14-03-2006 à 10:34:38  profilanswer
 

Tiens mon brave
ton appel au secours m'a fait suscité un élan de générosité de ma part :o

Code :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <title>Untitled Document</title>
  5. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  6. <link href="style.css" rel="stylesheet" type="text/css">
  7. <script  type="text/javascript">
  8.     function ShowHide(objectId, Action) {
  9.         var myObject = document.getElementById(objectId);
  10.         var result="";
  11.         switch(Action) {
  12.             case "auto": result=(myObject.style.display=="block" ) ? "none" : "block"; break;
  13.             case "hide" : result="none"; break;
  14.             case "show" : result="block"; break;
  15.             default: result="none";
  16.         }
  17.         myObject.style.display=result;
  18.     }
  19. </script>  
  20. <style type="text/css">
  21.     body{
  22.         background:black;
  23.     }
  24.     #Movie{
  25.         width:500px;
  26.         margin:0 auto;
  27.     }
  28.     #Movie a img{
  29.         border:none;
  30.     }
  31.     #Movie a{
  32.         display:block;
  33.     }
  34. </style>
  35. </head>
  36. <body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
  37. <a href="#" onclick="ShowHide('Movie','show')">Show The Movie</a>
  38. <div id="Movie">
  39.     <a href="#" onclick="ShowHide('Movie','hide')">
  40.         <img src="img/flash_close.jpg" alt="close" width="500" height="11" class="thumb"/>
  41.     </a>
  42.     <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" id="lambo" width="500" height="438" align="middle">
  43.         <param name="movie" value="swf/lambo.swf" />
  44.         <param name="quality" value="high" />
  45.         <embed src="swf/lambo.swf" quality="high" width="500" height="438" id="lambo" name="lambo" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
  46. </object>
  47. </div>
  48. </body>
  49. </html>

n°1325305
clear
Posté le 14-03-2006 à 18:13:05  profilanswer
 

merci bcp :)
 
je vais essayer d etudier un peu ca.
 
 

n°1325605
clear
Posté le 15-03-2006 à 08:11:03  profilanswer
 

Merci Gatsu.
 
Cependant il reste 2 problemes.
 
Le premier, je voudrais que la boite soit invisible par defaut. Ca ca doit pas etre bien compliquer.
 
Le deuxieme, je voudrais qu il y ai l effet de gris transparent qui se met au premier plan comme sur mon exemple.
 

n°1325611
clear
Posté le 15-03-2006 à 08:45:25  profilanswer
 

J ai essayer de modifier un peu le CSS pour obtenir ce que je cherche ....
 
 

Code :
  1. <style type="text/css">
  2. #Movie{
  3. display:none;
  4. position:absolute;
  5. top:0;
  6. left:0;
  7. width:100%;
  8. height:100%;
  9. z-index:5000;
  10. background-color:#000;
  11. -moz-opacity: 0.8;
  12. opacity:.80;
  13. filter: alpha(opacity=80);
  14. text-align: center;
  15. margin:0 auto;
  16. }
  17. #Movie a img{
  18. border:none;
  19. }
  20. #Movie a{
  21. display:block;
  22. }
  23. </style>


 
Avec ca sous firefox le griser apparait sur toute la page. Cependant le flash est pas centrer en hauteur. (Je sais pas comment faire ca ... )
 
Sous IE le griser n apparait que sur la hauteur du fichier flash et n occupe donc pas toute la hauteur de la page.
 

n°1325612
gatsu35
Blablaté par Harko
Posté le 15-03-2006 à 08:46:46  profilanswer
 

tiens mendiant, je suis généreux aujourd'hui :o
Mais apprend un peu à faire de toi même c'est pourtant simple :o
 

Code :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <title>Untitled Document</title>
  5. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  6. <link href="style.css" rel="stylesheet" type="text/css">
  7. <script  type="text/javascript">
  8.     function ShowHide(objectId, Action) {
  9.         var myObject = document.getElementById(objectId);
  10.         var result="";
  11.         switch(Action) {
  12.             case "auto": result=(myObject.style.display=="block" ) ? "none" : "block"; break;
  13.             case "hide" : result="none"; break;
  14.             case "show" : result="block"; break;
  15.             default: result="none";
  16.         }
  17.         myObject.style.display=result;
  18.     }
  19. </script>  <style type="text/css">
  20.     body{ background:white;  }
  21.  #Movie{
  22.   background-color: #333;
  23.  display:none;
  24.  }
  25.     #Movie div{
  26.         width:500px;
  27.         margin:0 auto;
  28.     }
  29.     #Movie a img{ border:none;}
  30.  #Movie a{display:block; }
  31. </style>
  32. </head>
  33. <body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
  34. <a href="#" onclick="ShowHide('Movie','show')">Show The Movie</a>
  35. <div id="Movie">
  36.  <div>
  37.     <a href="#" onclick="ShowHide('Movie','hide')">
  38.         <img src="img/flash_close.jpg" alt="close" width="500" height="11" class="thumb"/>
  39.     </a>
  40.     <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" id="lambo" width="500" height="438" align="middle">
  41.         <param name="movie" value="swf/lambo.swf" />
  42.         <param name="quality" value="high" />
  43.         <embed src="swf/lambo.swf" quality="high" width="500" height="438" id="lambo" name="lambo" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
  44.   </object>
  45.  </div>
  46. </div>
  47. </body>
  48. </html>

n°1325616
gatsu35
Blablaté par Harko
Posté le 15-03-2006 à 08:59:00  profilanswer
 

Tiens j'ai modifié ton bordel, en prenant en compte que ton truc se centre dans ta page :o

Code :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <title>Untitled Document</title>
  5. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  6. <link href="style.css" rel="stylesheet" type="text/css">
  7. <script  type="text/javascript">
  8.     function ShowHide(objectId, Action) {
  9.         var myObject = document.getElementById(objectId);
  10.         var result="";
  11.         switch(Action) {
  12.             case "auto": result=(myObject.style.display=="block" ) ? "none" : "block"; break;
  13.             case "hide" : result="none"; break;
  14.             case "show" : result="block"; break;
  15.             default: result="none";
  16.         }
  17.         myObject.style.display=result;
  18.     }
  19. </script>  <style type="text/css">
  20. body, html {
  21.  height:100%;
  22. }
  23.     body{ background:white;  }
  24.  #Movie{
  25.  position:absolute;
  26.  top:0;
  27.  left:0;
  28.  bottom:0;
  29.  right:O;
  30.  height:100%;
  31.  width:100%;
  32.  -moz-opacity: 0.8;
  33.  opacity:.80;
  34.  filter: alpha(opacity=80);
  35.   background-color: #000;
  36.  display:none;
  37.  }
  38.     #Movie div{
  39.       width:500px;
  40.  position:absolute; /*positionnement absolu*/
  41.  top:50%; /*On met l'objet à la moitié de la page en hauteur*/
  42.  left:50%; /*Idem mais en largeur*/
  43.  margin-top:-220px; /*On retire la marge top en mettant la moitié de la hauteur du bloc placé (ton film en gros)*/
  44.  margin-left:-251px; /*Idem mais en largeur*/
  45.     }
  46.     #Movie a img{ border:none;}
  47.  #Movie a{display:block; }
  48. </style>
  49. </head>
  50. <body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
  51. <a href="#" onclick="ShowHide('Movie','show')">Show The Movie</a>
  52. <div id="Movie">
  53.  <div>
  54.     <a href="#" onclick="ShowHide('Movie','hide')">
  55.         <img src="img/flash_close.jpg" alt="close" width="500" height="11" class="thumb"/>
  56.     </a>
  57.     <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" id="lambo" width="500" height="438" align="middle">
  58.         <param name="movie" value="swf/lambo.swf" />
  59.         <param name="quality" value="high" />
  60.         <embed src="swf/lambo.swf" quality="high" width="500" height="438" id="lambo" name="lambo" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
  61.   </object>
  62.  </div>
  63. </div>
  64. </body>
  65. </html>


Message édité par gatsu35 le 15-03-2006 à 09:15:31
mood
Publicité
Posté le 15-03-2006 à 08:59:00  profilanswer
 

n°1325633
clear
Posté le 15-03-2006 à 09:47:59  profilanswer
 

Yes ca marche !
 
Merci bcp Gatsu35, je te dois une biere sur ce coup la ! :D
 
Bon j ai recoder une grosse partie de mon site aussi, et a priori c bcp plus propre.  
 
Encore merci milles fois en tout cas ;)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [Javascript CSS] Flashbox

 

Sujets relatifs
Javascript dans javascript[CSS] appliquer une taille à un hover
bbcode insertion image (javascript et PHP)[Javascript] valeur d'un select sous IE
Javascript : Formulaire et aperçu.Problème CSS pour un menu
ajustement auto zone texte CSS100% de hauteur (CSS)
pb struts+javascript+xhtml[HTML/CSS/Jevascript] Validation d'un site agréée Hache&Fer
Plus de sujets relatifs à : [Javascript CSS] Flashbox


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR