2010-08-20 9 views
2

J'ai créé une fonction pour afficher un texte de titre dans un div séparé, ses wotks parfaitement, mais j'ai des problèmes avec l'attribut "title", donc je vais le supprimer après tooltipp wenn être affiché. Et à la souris ou l'afficher, mais la variable tooltipptext est vide ... même une idée?Javascript Problème avec les variables

var tooltipptext;  
$(".infoimg").hover(function(event) { 
     tooltipptext = $(this).attr("title"); 

     showToolTip(event, tooltipptext); 
     $(this).attr("title", ""); 

     return false;  
    }); 

    $(".infoimg").mouseout(function() { 
     $("#bubble_tooltip").hide(); 
     $(this).attr("title", tooltipptext); 
     return false; 
    }); 
+1

Quelle est exactement votre question? Qu'est-ce qui ne fonctionne pas? –

+0

comment savez-vous le titre est vide? –

+0

$ (this) .attr ("title", tooltipptext); tooltiptext est vide, mais il ne devrait pas être –

Répondre

4

.hover(), lorsqu'il est passé une fonction simple exécute sur deuxmouseenteretmouseleave, clering la variable parce que cela:

tooltipptext = $(this).attr("title"); 

fonctionne à nouveau après $(this).attr("title", ""); couru déjà. Au lieu de passer les deux fonctions à .hover(), comme ceci:

var tooltipptext;  
$(".infoimg").hover(function() { 
    tooltipptext = $(this).attr("title"); 
    showToolTip(event, tooltipptext); 
    $(this).attr("title", ""); 
}, function() { 
    $("#bubble_tooltip").hide(); 
    $(this).attr("title", tooltipptext); 
}); 

Ou puisque vous êtes ne voir l'attribut title sur le vol stationnaire, stocker une fois comme ceci:

$(".infoimg").each(function() { 
    var title = $(this).attr("title"); 
    $(this).data('title', title).attr('title',''); 
}).hover(function() {  
    showToolTip(event, $.data(this, 'title')); 
}, function() { 
    $("#bubble_tooltip").hide(); 
}); 

Cela a l'avantage supplémentaire de travailler sur n'importe quel nombre d'images :)

+0

ses travaux! Je vous remercie! –

Questions connexes