2010-07-05 13 views
1

Je remarque le problème surtout avec Firefox 3.6.6 sur OS 10.5.8, et cela arrive de temps en temps avec Safari (préparez votre visage surpris - IE fonctionne vraiment bien à chaque fois - quoi ?!).

Mon URL est ici: http://culturewithinaculture.org/introduction.php

NOTE: Il est protégé par mot pour l'instant, car nous n'avons pas officiellement lancé le site.
utilisateur: CWAC
passe: cwac2112bug jScrollPane? Les changements de page jScrollPane ou autre chose l'affectent

Problème: Si vous visitez le lien ci-dessus, il devrait charger amende la première fois. Tout semble bien avec les fichiers JS et CSS. TOUTEFOIS, lorsque vous frappez rafraîchir, il se brise. Parfois, il faut 1 rafraîchissement, d'autres fois il faut 2 ou 3. L'autre chose étrange est que si vous attendez 30 secondes ou plus et que vous vous rafraîchissez, tout ira bien. Semble assez aléatoire. Quand je dis qu'il «casse», je veux dire qu'il ne parvient pas à appliquer la fonction jScrollPane aux balises DIV que j'ai pour la copie en anglais et en japonais.

J'ai donc essayé de charger les fichiers JS requis à différents moments sans aucune chance pour le moment. Par exemple essayé de charger le fichier mousewheel.js avant et après le fichier jScrollPane.js. J'utilise également un lien vers la version hébergée de Google de Jquery, pensant que cela pourrait être trop demander à partir de notre compte hébergé MediaTemple ... peut-être un problème de mise en cache, etc. Voici le code que j'utilise pour charger tout le nécessaire fonctions de la page (principalement en utilisant JScrollPane et prettyPhoto pour les liens vidéo):

$(document).ready(function(){ 

// scrollpane code 

    $('.scroll-pane').jScrollPane();  

//Rollovers for navigation buttons 

    $(".navBtn").hover(
     function(){ 
      this.src = this.src.replace("_org","_over"); 
     }, 
     function(){ 
      this.src = this.src.replace("_over","_org"); 
    }); 


//PrettyPhoto Function 
$(function() 
    { 
    $("a[rel^='prettyPhoto']").prettyPhoto(); 
    }); 
}); 

Si vous les gars avez des suggestions, je l'apprécie beaucoup. Je suis définitivement un débutant avec jQuery, et c'est mon premier site utilisant seulement jQuery. Quelqu'un a eu cette erreur avec jScrollPane avant? Y a-t-il quelque chose de génial dans mon CSS qui brise ça?

Répondre

3

Ceci est un peu un coup dans le noir, mais essayez de charger vos fichiers CSS avant vos fichiers js.

Je me souviens d'avoir lu quelque part que votre CSS devrait être défini avant le code jQuery. Je cherche ce document. Je l'afficherai si je le trouve.

Mise à jour:

Il est venu de Learning jQuery 1.3 par Jonathan Chaffer, Karl Swedberg

Pour vous assurer que la page a été dessiné avant que le code JavaScript exécute, il est Une bonne pratique consiste à placer les balises <link rel="stylesheet"> avant les balises <script> dans l'élément <head> du document.

+0

+1 Oui, toujours charger votre CSS en premier. Très bonne réponse. Une fois que vous trouvez ce lien faisant autorité qui sera bon pour être en mesure de faire référence. –

+1

@Doug - J'espérais que cela venait des docs de jQuery, mais il s'avère que cela vient de la partie de ** Learning jQuery ** que j'ai lue. Encore assez autoritaire comme Swedberg est un membre de l'équipe jQuery http://jquery.org/team#karl-swedberg, et Resig a écrit l'attaquant. – user113716

+0

Vous mon homme, êtes un épargnant de vie. Je n'ai aucune idée pourquoi, mais je pensais que ce n'était pas bon de charger le CSS avant le java ... c'était la seule chose que je n'ai jamais essayé. Merci beaucoup. Mystère résolu. – ESB

0

Je partage l'opinion patrick, j'ai testé votre page pour la dernière moitié d'une heure, mais aucun résultat. Il devrait y avoir quelque chose de mal avec CSS, je ne comprends toujours pas Comment cela a bien fonctionné pour la première fois avant de recharger la page et se briser après rechargement

+0

Ouais tout fonctionne maintenant, grâce à la suggestion de Patrick. Mais oui c'est bizarre que ça a fonctionné la première fois puis s'est cassé au hasard après que tu t'es rafraîchi. Étrange. – ESB