2011-12-12 5 views
3

J'utilise JqueryToolTip pour styliser et animer des astuces pour une série d'images à l'intérieur des ancres de ma page. Le problème est que lorsque la pointe de l'outil est plus longue que 30 lettres, elle n'est pas centrée verticalement à l'intérieur de la div. J'ai donc écrit cette jquery pour ajouter une classe de .small à l'une des infobulles de moins de 30 lettres. Cela a produit l'effet que je voulais, sauf qu'il ne fonctionne que sur le deuxième vol stationnaire. Comment puis-je l'obtenir au premier vol stationnaire?jquery Fonction IF/ELSE de vol stationnaire uniquement en mode de vol stationnaire?

Je suis encore nouveau à jquery. Je suppose que cela a quelque chose à voir avec l'ordre dans lequel j'ai le code, mais je ne peux pas le comprendre.

$("#loop-wrapper a img").hover(function(){ 
    var getLength = $(this).attr("alt").length; 
    if(getLength < 30){ 
    $(".tooltip").addClass("small"); 
    } 
    else{ 
    $(".tooltip").removeClass("small"); 
    } 
}, function(){ 
    $(".tooltip").removeClass("small"); 
}); 

Répondre

2

Je factoriser à utiliser .toggleClass avec un paramètre de commutation et un seul argument fonction .hover:

$("#loop-wrapper a img").hover(function() { 
    var getLength = $(this).attr("alt").length; 
    $(".tooltip").toggleClass("small", (getLength < 30)); 
}); 
+0

cela a aidé beaucoup, un peu vacillante est parti, mais je suis d'avoir toujours le même problème. C'est seulement au deuxième vol stationnaire que le texte devient centré. Je suis assez sûr que c'est en raison de la pointe d'outil jquerytools que j'utilise. voici le code qui appelle la pointe de l'outil '$ ("# boucle wrapper un [titre]") infobulle ({ \t \t Position:. "en bas au centre", \t \t offset: [-18, 0] }); ' Il ajoute ensuite un div au bas du balisage HTML qui a la pointe de l'outil, il utilise le positionnement absolu pour placer l'élément à côté de l'image –