Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 28/06/2009, 23h04   #1
Invité régulier
 
Inscription : juillet 2007
Messages : 10
Détails du profil
Informations personnelles :
Âge : 20

Informations forums :
Inscription : juillet 2007
Messages : 10
Points : 6
Points : 6
Par défaut Opacité + onclick + image en avant-plan

Bonsoir !

Je contribue actuellement à la réalisation d'un jeu en ligne, et je me trouve actuellement confronté à un problème...

La map du jeu est affichée sous forme d'un immense tableau sur lequel on met un événement onclick pour détecter les clics du joueur sur la map.
Jusque là, tout marche parfaitement...

Le problème arrive lorsque l'on souhaite afficher le joueur en transparence lorsqu'il devrait être caché par un bâtiment. Pour cela, on utilise la propriété css opacity, pour faire varier l'opacité du personnage.

Mais il devient dès lors impossible de cliquer sur la case où l'opacité a été changée !

J'ai fait toutes les vérifications possibles : le problème ne vient pas du code php, mais se situe bien au niveau du navigateur, qui, visiblement, pense que l'élément dont l'opacité a été modifiée se situe à l'avant-plan de la page, et de ce fait obstrue les clics sur la map...

J'ai par ailleurs constaté que mettre une opacité de 1 (soit complètement opaque) faisait disparaître le problème (mais bien sûr, ce n'est pas le résultat souhaité ^^ ).

Enfin : je n'ai pas constaté ce problème sur IE mais sur Firefox (pour une fois !).

Auriez-vous une solution, ou de l'aide à m'apporter ?
Merci d'avance !

EDIT :

Testez ce code sous Firefox, un coup avec l'opacité et un coup en l'enlevant :

Code :
1
2
<div id="test" style="width:200px;height:200px;position:absolute;border:1px solid black;" onclick="alert('test');"></div>
<div id="test2" style="width:100px;height:100px;background-color:#00FF00;opacity:0.8;"></div>

Dernière modification par Cyprien_ ; 29/06/2009 à 00h27.
Cyprien_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/06/2009, 08h28   #2
Rédacteur/Modérateur
 
Avatar de bigboomshakala
 
Homme
Ingénieur développement logiciels
Inscription : avril 2004
Messages : 2 043
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 31
Localisation : France

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : avril 2004
Messages : 2 043
Points : 2 414
Points : 2 414
salut,

si tu mets le zIndex à 2 sur la map et 1 sur l'objet ?
__________________
Modérateur/Rédacteur

Tutoriels/Articles :
- Espace de noms (ou namespace) en JavaScript
- Créer une table HTML éditable en JavaScript (nouveau)
- Smile.Fx : Bibliothèque d'effets visuels en JavaScript (en cours - démo disponible)

mon espace
bigboomshakala est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/06/2009, 11h16   #3
Invité régulier
 
Inscription : juillet 2007
Messages : 10
Détails du profil
Informations personnelles :
Âge : 20

Informations forums :
Inscription : juillet 2007
Messages : 10
Points : 6
Points : 6
Effectivement, c'était tout bête ^^

Merci beaucoup
Cyprien_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 11h58.


 
 
 
 
Partenaires

Hébergement Web