Bonjour,
J'utilise un framework javascript pour afficher un beau tableau (Ext js Ext Js).
Lorsqu'on charge des données (appelle Ajax) avec ce tableau un masque de chargement apparait puis disparait une fois que les données ont été chargées.
Le problème est qu'IE7 n'applique pas la transparence sur la couleur de fond du masque de chargement.
Le masque de chargement est une div ayant pour classe css ext-el-mask dont voici le code :
le code html de ma page :
Etant donné que c'est la librairie javascript qui ajoute beaucoup d'élément au dom il me parait difficile de vous expliquer avec du texte tous ce qu'elle fait. C'est pourquoi j'ai fais un exemple qui contient le strict minimum (html+js+css) fonctionnel sur votre poste dont voici le lien : ici Il vous suffit de récupérer le zip, et d'ouvrir avec IE la page examples/paging.html.
Dans la page html si vous importez ext-all-debug.js la grille le masque de chargement apparait puis disparait. Si vous utilisez ext-all-debug2.js le masque reste tout le tps affiché.
Dans le html vous avez juste a ajouter et supprimer des commentaires sur les import pour utiliser l'un ou l'autre.
La classe css .ext-el-mask se trouve ligne 17 du fichier resources/css/ext-all.css
Le bug disparait si j'ajoute un doctype ou que je supprime le tableau qui encapsule la table mais malheureusement je ne peux ni ajouter de doctype ni supprimer le tableau .
Merci d'avance pour votre aide
Modifié par Cyberal (01 Oct 2008 - 14:18)
J'utilise un framework javascript pour afficher un beau tableau (Ext js Ext Js).
Lorsqu'on charge des données (appelle Ajax) avec ce tableau un masque de chargement apparait puis disparait une fois que les données ont été chargées.
Le problème est qu'IE7 n'applique pas la transparence sur la couleur de fond du masque de chargement.
Le masque de chargement est une div ayant pour classe css ext-el-mask dont voici le code :
.ext-el-mask
{
z-index:20000;
position:absolute;
top:0;
left:0;
-moz-opacity:0.5;
opacity:.50;
filter:alpha(opacity=50);
background-color:#CCC;
width:100%;
height:100%;
zoom:1;
}
le code html de ma page :
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Paging Grid Example</title>
<link rel="stylesheet" type="text/css" href="../resources/css/ext-all.css" />
<!-- GC -->
<!-- LIBS -->
<script type="text/javascript" src="../adapter/ext/ext-base.js"></script>
<!-- ENDLIBS -->
<!-- script pour que le masque de chargement s'arrête -->
<!--
<script type="text/javascript" src="../ext-all-debug.js"></script>
-->
<!-- script pour masque de chargement reste affiché -->
<script type="text/javascript" src="../ext-all-debug2.js"></script>
<script type="text/javascript" src="paging.js"></script>
</head>
<body>
<h1>Grille avec pagination</h1>
<br/>
<table>
<tr>
<td>
<div id="topic-grid"></div>
</td>
</tr>
</table>
</body>
</html>
Etant donné que c'est la librairie javascript qui ajoute beaucoup d'élément au dom il me parait difficile de vous expliquer avec du texte tous ce qu'elle fait. C'est pourquoi j'ai fais un exemple qui contient le strict minimum (html+js+css) fonctionnel sur votre poste dont voici le lien : ici Il vous suffit de récupérer le zip, et d'ouvrir avec IE la page examples/paging.html.
Dans la page html si vous importez ext-all-debug.js la grille le masque de chargement apparait puis disparait. Si vous utilisez ext-all-debug2.js le masque reste tout le tps affiché.
Dans le html vous avez juste a ajouter et supprimer des commentaires sur les import pour utiliser l'un ou l'autre.
La classe css .ext-el-mask se trouve ligne 17 du fichier resources/css/ext-all.css
Le bug disparait si j'ajoute un doctype ou que je supprime le tableau qui encapsule la table mais malheureusement je ne peux ni ajouter de doctype ni supprimer le tableau .
Merci d'avance pour votre aide
Modifié par Cyberal (01 Oct 2008 - 14:18)