Bonjour,

J’ai un problème de JavaScript avec JQuery, Firefox et Flash : J’ai un petit script qui fonctionne très bien sur IE, Chrome, Opera et Safari mais pas sur Firefox.

Explications :

J’ai une petite animation Flash qui demande à JQuery de masquer un <div> contenant ce petit Flash puis d’afficher un autre <div> masqué qui contient un flash plus grand.

Jusque là pas de problème tout fonctionne.

Dans le grand Flash il y a un bouton fermer(croix) qui demande à JQuery de faire l’inverse : c'est-à-dire, de masquer le <div> contenant le grand Flash puis réafficher le <div> contenant le petit Flash. Sous Firefox tout commence bien : le grand <div> est masqué puis le petit <div> s’affiche. Par contre tout de suite après le petit <div> se remasque à nouveau et le grand <div> réapparait ce qui n’est pas voulu. Bref impossible de masquer le grand <div>.

L’exemple en réel pour mieux comprendre (il s’agit du Flash en bas à droite de l’écran) : http://www.verbes-irreguliers.net/co...reguliers.html

Le script :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 
// JavaScript Document
 
// PETIT Flash : #startAssist
// GRAND Flash : #assist
// #fondNoir = un div 100% pour assombrir le fond lorsque le GRAND flash est affiché
 
$(document).ready(function() {
   // au chargement MASQUE le GRAND Flash
   $("#assist").hide();
   $("#fondNoir").hide();
});
 
function startAssist(){
	//fonction qui MASQUE le div du PETIT Flash et AFFICHE le div du GRAND Flash
 
		$("#startAssist").hide();
		$("#assist").show("fast");
 
		$("#fondNoir").show();
		$("#fondNoir").fadeTo('slow', 0.5, function() {
		  // Animation complete.
		});
}
function stopAssist(){
	//fonction qui MASQUE le div du GRAND Flash et AFFICHE le div du PETIT Flash
		$("#assist").hide();
 
		$("#fondNoir").fadeTo('slow', 0, function() {
			$("#fondNoir").hide();
		});
 
		$("#startAssist").show("fast");
}
Quelqu’un a-t-il été déjà confronté à ce type de problèmes ? Merci par avance pour votre aide.