2010-03-01 1 views
2

Mec, je ne comprends pas. J'ai quatre ensembles de liens appariés, où en planant au-dessus d'un met l'un l'autre. Je l'ai en travaillant dans jQuery mais quand j'ajoute Cufon ce n'est pas un dé. Voici script JQ:Pourquoi Cufon n'autorise-t-il pas une fonction addclass avec jQuery?

 <script type="text/javascript"> 
    jQuery(document).ready(function() { 

     var doubleHighlight = function(element1, element2, class) { 
     element1.hover(
      function() { 
      element2.addClass(class); 
      }, 
      function() { 
      element2.removeClass(class); 
      } 
     ); 

     element2.hover(
      function() { 
      element1.addClass(class); 
      }, 
      function() { 
      element1.removeClass(class); 
      } 
     ); 
     }; 
     doubleHighlight(jQuery("#abouttop"), jQuery("#aboutbottom"), "highlight_about"); 
     doubleHighlight(jQuery("#worktop"), jQuery("#workbottom"), "highlight_work"); 
     doubleHighlight(jQuery("#blogtop"), jQuery("#blogbottom"), "highlight_blog"); 
     doubleHighlight(jQuery("#contacttop"), jQuery("#contactbottom"), "highlight_contact"); 
    }); 
    </script> 

Et voici la partie pour Cufon:

<script src="cufon-yui.js" type="text/javascript"></script> 
<script src="gothamxlight_300-gothamxlight_300.font.js" type="text/javascript"> </script> 
<script src="gothamlight_300-gothamlight_500.font.js" type="text/javascript"></script> 
     <script type="text/javascript"> 
      Cufon.replace('#type', { fontFamily: 'gothamxlight', hover: true}); 
      Cufon.replace('#smalltype', { fontFamily: 'gothamlight', hover: true}); 
      Cufon.replace('#nav', { fontFamily: 'gothamlight', hover: true}); 
     </script> 

Toutes les idées? Peut-être que Cufon rend le texte? A-t-il besoin d'être rafraîchi? Je saisis des pailles ici.

+1

Cufon ne remplace-t-il pas complètement les éléments d'origine, ou au moins en ajoute-t-il de nouveaux? Cela ne signifie-t-il pas que les gestionnaires d'événements pour votre texte original ne sont pas pertinents après Cufon? – Pointy

+0

Je pense que Pointy a raison, Cufon remplace vos éléments d'origine. Je crois qu'il étudie CSS: hover stuff (si vous passez {hover: true} à la fonction 'Cufon.replace') et crée les éléments corrects pour cela, mais le navigateur ne rend plus les éléments sous forme de texte. l'ajout de classes CSS qui modifient la façon dont le texte est rendu n'a donc aucun effet. –

Répondre

0

Le problème est que Cufon ne fonctionne pas ou que Cufon casse votre doubleHighlight?

En fait, je me suis suicidé avant de découvrir que la plupart des problèmes liés à JQuery Cufon sont dans l'ordre où tout est appelé. J'ai du mal à trouver leur explication dans la documentation comme c'était le cas en septembre dernier, alors j'ai peur que je ne puisse pas citer ma réponse maintenant, je dois me remettre au travail. Fondamentalement, Cufon aime être le premier en ligne, et JQuery est généralement heureux de monter le fusil de chasse. Par exemple;

Ceci est ou peut être mauvais:

<script type="text/javascript" src="jquery.js"></script> 
<script type="text/javascript" src="cufon-yui.js"></script> 

<script type="text/javascript"> 
    your.jQueryKungFu(function() { 
    }; 
</script> 

<script type="text/javascript"> 
    cufon.replace('h1'); 
</script> 

Ce qui est bon:

<script type="text/javascript" src="jquery.js"></script> 
<script type="text/javascript" src="cufon-yui.js"></script> 

<script type="text/javascript"> 
    cufon.replace('h1'); 
</script> 

<script type="text/javascript"> 
    your.jQueryKungFu(function() { 
    }; 
</script> 

Notez la différence, la deuxième fois autour du CUFON est géré avant que les fonctions jquery.

Cette solution m'a servi là où Cufon a complètement refusé de remplacer quoi que ce soit à cause de ce que j'avais déjà exécuté avec JQuery. Je ne suis pas sûr si votre problème pourrait provenir de la même école de problèmes ...