Bonjour,
Désolé pour le titre plutôt obscur.
Il s'agit en fait d'un effet de style réalisé avec jQuery, mais qui ne fonctionne pas comme il devrait (= comme s'il était fait en CSS). Mais je ne vois pas comment le réaliser en css...
Structure du document (XHTML) :
(il s'agit du système de gestion d'un bar...)
L'utilisateur peut réaliser différentes actions, qui sont les différents éléments <li> d'une liste <ul>.
Une action réalisables est constituée d'un lien, et de l'action elle-même.
De base (quand l'action n'est pas survolée), seul le lien est affiché : le morceau <div class="tache"> est caché. Lors du survol, le lien se cache et le morceau <div class="tache"> apparaît. Pour cela, j'utilise jQuery. Voici les codes CSS et Javascript :
Le code CSS ne me semble pas capital, mais je le donne quand même.
Le problème survient sur deux navigateurs : Internet Explorer et Mozilla Firefox (le bon fonctionnement a été vérifié sous Opera, Chrome et Safari).
Alors que le curseur est sur le premier bloc, quand on déroule le <select>, dès que le curseur passe sur un <option> (parmi ici deux), le <li> perd le survol (hover), et le morceau <div class="tache"> disparaît donc, ce qui est tout sauf pratique...
Mon message vous apparaît peut-être brouillon, je m'en excuse.
Merci d'avance.
Modifié par Laug (11 May 2010 - 19:05)
Désolé pour le titre plutôt obscur.
Il s'agit en fait d'un effet de style réalisé avec jQuery, mais qui ne fonctionne pas comme il devrait (= comme s'il était fait en CSS). Mais je ne vois pas comment le réaliser en css...
Structure du document (XHTML) :
<ul id="taches">
<li id="tache0">
<a href="Debiter"><em>Débiter</em> un compte</a>
<div class="tache">
<form action="" method="post">
<input type="hidden" name="tache" value="Debiter" />
<p>
<label for="d_nom">Nom : </label><input type="text" name="nom" id="d_nom" class="compte" />
</p>
<p>
<label for="d_conso">Consommation : </label>
<select name="conso" id="d_conso">
<option value="1">Kro pression (50.00 cl) - 2.00 €</option>
<option value="2">Kro pression (25.00 cl) - 1.00 €</option>
</select>
</p>
<input type="submit" value="Débiter" />
</form>
</div>
</li>
<li id="tache1">
<a href="Crediter"><em>Créditer</em> un compte</a>
<div class="tache">
<form action="" method="post">
<input type="hidden" name="tache" value="Crediter" />
<p>
<label for="c_nom">Nom : </label><input type="text" name="nom" id="c_nom" class="compte" />
</p>
<p>
<label for="c_montant">Montant : </label><input type="text" name="montant" id="c_montant" />
</p>
<p>
<input type="radio" value="0" id="c_forme_0" name="forme" checked="checked" /><label for="c_forme_0">Liquide</label>
<input type="radio" value="1" id="c_forme_1" name="forme" /><label for="c_forme_1">Chèque</label>
</p>
<input type="submit" value="Créditer" />
</form>
</div>
</li>
</ul>
(il s'agit du système de gestion d'un bar...)
L'utilisateur peut réaliser différentes actions, qui sont les différents éléments <li> d'une liste <ul>.
Une action réalisables est constituée d'un lien, et de l'action elle-même.
De base (quand l'action n'est pas survolée), seul le lien est affiché : le morceau <div class="tache"> est caché. Lors du survol, le lien se cache et le morceau <div class="tache"> apparaît. Pour cela, j'utilise jQuery. Voici les codes CSS et Javascript :
Le code CSS ne me semble pas capital, mais je le donne quand même.
ul#taches {
list-style-type: none;
padding: 0 200px;
}
ul#taches>li {
min-height: 100px;
border: 1px solid black;
width: 600px;
margin: 10px auto;
padding: 15px;
border-radius: 20px/ 15px;
-webkit-border-radius: 20px/ 15px;
-moz-border-radius: 20px/ 15px;
}
$("ul#taches > li").hover(function () {
$(this).children("a").fadeOut("fast", function() {
$(this).next().fadeIn("fast")});
},
function () {
$(this).children(".tache").fadeOut("fast", function () {
$(this).prev().fadeIn("fast")});
});
Le problème survient sur deux navigateurs : Internet Explorer et Mozilla Firefox (le bon fonctionnement a été vérifié sous Opera, Chrome et Safari).
Alors que le curseur est sur le premier bloc, quand on déroule le <select>, dès que le curseur passe sur un <option> (parmi ici deux), le <li> perd le survol (hover), et le morceau <div class="tache"> disparaît donc, ce qui est tout sauf pratique...
Mon message vous apparaît peut-être brouillon, je m'en excuse.
Merci d'avance.
Modifié par Laug (11 May 2010 - 19:05)