2010-01-26 10 views
0

J'essaye de suivre ce example pour ajouter une info-bulle à un graphe de flot. Mais l'info-bulle n'apparaît pas.comment juger avec firebug si un appel appendTo a été réussi/en ajoutant une info-bulle à un graphique de flot

$(document).ready(function(){ 
    $("#plotarea").bind("plothover", function (event, pos, item) { 
     $("#x").text(pos.x.toFixed(2)); 
     $("#y").text(pos.y.toFixed(2)); 
     if (item) { 
      $("#charttooltip").remove(); 
     var x = item.datapoint[0].toFixed(2), 
     y = item.datapoint[1].toFixed(2); 
     showChartTooltip(item.pageX, item.pageY,'tooltip text to display'); 
     } else { 
      $("#charttooltip").remove(); 
     } 
    }); 
}); 

function showChartTooltip(x, y, contents) { 
     $('<div id="charttooltip">' + contents + '</div>').css({ 
       position: 'absolute', 
       display: 'visible', 
       'z-index': 100, 
       top: y + 5, 
       left: x + 5, 
       border: '1px solid #bfbfbf', 
       padding: '2px', 
       'background-color': '#ffffff', 
       opacity: 1        
     }).appendTo($('#main_body')).fadeIn(200); 
     } 
</script> 

<div class="main_body"> //->is present in the html 

J'ai vérifié avec Firebug si la méthode de showChartTooltip est appelée. Cela marche. Quand je traverse le code tout semble fonctionner comme prévu, seulement je ne sais pas qui je peux juger dans firebug si l'appel d'appendTo est réussi.

C'était la première chose que je voulais vérifier puisque l'info-bulle n'apparaissait pas. J'ai inséré aussi un z-index très élevé pour être sûr que ce n'est pas le problème.

Si quelqu'un a une idée de ce qui pourrait être faux .. J'apprécierais vraiment vos commentaires.

Répondre

1

Si le &lt; s et ainsi de suite sont effectivement présents dans votre code, c'est presque certainement votre problème. Vous devez écrire le html réel comme paramètre:

$('<div id="charttooltip">' + contents + '</div>') 
+0

uuhh .. oui exactement. c'était le problème. Je vous remercie! Je me demande pourquoi l'auteur de http://www.codeunit.co.za/2009/12/30/how-to-add-a-tooltip-to-a-flot-jquery-graph/ utilisé < –

+0

Probablement juste son logiciel de blogging. Laissez un commentaire et laissez-le savoir! – rfunduk

1

Ouvrez le panneau HTML dans firebug et développez l'élément body, si un div avec id = charttooltip est ajouté alors la méthode fonctionne. Faites-moi savoir si c'est le problème.

+0

Merci qui m'a aussi beaucoup aidé. Cela a résolu une partie de mon problème. Je regardais toujours l'onglet javascript inspecter de firebug. Mais je n'étais pas au courant que firebug met réellement à jour la source html également. –

+0

Vous pouvez également essayer de le sélectionner en utilisant la console: '$ ('# charttooltip')' ... vous récupérerez l'élément s'il a été ajouté avec succès. – rfunduk