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...)
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)
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...
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)