cs_bumbo
Messages postés26Date d'inscriptionmardi 17 juin 2003StatutMembreDernière intervention10 février 2010
-
8 févr. 2010 à 16:26
PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 janvier 2011
-
10 févr. 2010 à 17:52
Bonjour,
J'ai un problème avec le code suivant:
var myArray = $('body').getElementsBySelector('[infobulle]');
myArray.each(function(item) {
item.observe('mouseover', function(event){
if ( Event.element(event).readAttribute('tag') != undefined ) {
bulle_montre( Event.extend(event), 1 ); }
});
function bulle_montre(event, tempo){
if (tempo > 0)
bulle_timeout = setTimeout( function(){
montre( Event.extend(event) );
}, tempo );
else
montre( Event.extend(event) );
}
Le but est d'afficher une bulle au bout de x secondes, sachant que l'élément qui déclenche l'action est variable
Le problème apparait lorsque je défini une tempo, il faut que je fasse suivre le déclencheur jusqu'a la fonction montre(). Avec firefox le code marche tres bien , Le code ne génère pas d'erreur avec IE7 mais ne fonctionne pas et avec IE8 j'ai une erreur au niveau de:
bulle_timeout = setTimeout( function(){
montre( Event.extend(event) );
}, tempo );
L'erreur est "membre introuvable" (et oui ca raconte pas grand chose...)
PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 janvier 201117 9 févr. 2010 à 18:34
Bonjour,
moi y a n'a pas connaître les fonctionnalité de PROTOTYPE, mais je dirais à la vue du code que tu perds la référence à event dans la fonction transmise par le setTimeout
A brut je rajouterai le passage à la function de event comme suit
bulle_timeout = setTimeout( function(event){
montre( Event.extend(event) );
}, tempo );
sans aucune garantie de moi même
sinon il existe surement un forum prototype !!!
;O)
cs_bumbo
Messages postés26Date d'inscriptionmardi 17 juin 2003StatutMembreDernière intervention10 février 2010 10 févr. 2010 à 08:19
Je viens d'essayer en rajoutant event, l'erreur retournée est "nodeType a la valeur null ou n'est pas un objet" et là c'est le code des fichiers prototype qui retourne l'erreur.
J'ai déjà regardé les forums fr sans succès donc je vais aller fouiller un peu sur les forums en anglais.
Merci tout de même, et si quelqu'un a d'autres idées je suis preneur...
PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 janvier 201117 10 févr. 2010 à 17:52
Bonjour,
montre nous ta fonction montre que l'on voit son fonctionnement, sans pour autant aller décortiquer le code prototype
Je note en passant que la nature des paramètres passés ne me semble pas cohérente
appel au début de
bulle_montre( Event.extend(event), 1 );
ensuite du déclare
function bulle_montre(event, tempo){
et tu utilises
montre( Event.extend(event) );
!!!!!!
;O)