2010-05-04 3 views
0

css J'ai une fonction jquery qui est appelé $ (document) .ready qui modifie le tableau de bord d'un css Business Intelligence. J'ai dû utiliser jquery pour faire les ajustements car je n'ai pas accès au code source de l'outil BI. Ce qui se passe est quand la page se charge, je cours dans la navigation de l'onglet et change les couleurs des onglets en fonction de certaines exigences (qui dépend essentiellement du texte de l'onglet). Le problème auquel je suis confronté est qu'il y a un léger décalage entre le moment où la page est chargée et le moment où les mises à jour de jquery ont été effectuées sur la page. Y a-t-il un moyen de réduire ce délai?Comment réduire le temps de latence lors de l'utilisation jquery pour modifier onload

Répondre

1

similaire à la réponse d'Eric, je serais cacher la partie de votre page qui montre l'outil de BI, ou le corps entier si vous aimez (peut-être remplacé par un « Chargement ... » message de type) Puis, comme la dernière ligne de votre code $ (document) .ready() rendent le conteneur visible à nouveau et retirez la Message "Chargement ..."

Voici un ce que je pense:

<html> 
<body> 
<div id='BIContainer' style='display:none;'> 
<!-- BI TOOL OUTPUT GOES HERE --> 
</div> 

<!-- I'm assuming jQuery has already been loaded --> 
<script> 
    $(document).ready(function() { 
     // Your code to change the tab styles 
     $('#BIContainer').show(); 
    }); 
</script> 

</body> 

+0

Merci pour votre réponse gars. Ces solutions ont un sens ... le problème est que je n'ai pas accès au code HTML comme indiqué ci-dessus ... Le seul endroit où je peux apporter des modifications est onload en utilisant javascript/jquery. – Josh

+0

Nevermind ... Merci une tonne les gars. Je suis juste allé de l'avant et mettre en affichage: aucun dans le CSS pour ce div spécifique, puis je le montre après que les modifications ont été faites. Fonctionne parfaitement. – Josh

+0

Génial, bon d'entendre que vous l'avez fait fonctionner! Heureux d'aider. –

1

Vous pouvez faire la plus propre de transition en se cachant les contenant div, en appliquant vos modifications CSS, puis la décoloration artistique du tableau de bord modifié div dans.

0

Je suppose que vous utilisez .css() pour modifier votre style? Faire des classes personnalisées dans un fichier CSS séparé vous de caisse, puis juste addClass() son beaucoup plus rapide. Si vous ne pouvez pas à cela, je vous suggère d'utiliser la solution d'Eric.

+0

Yup, j'utilise déjà addClass et removeClass. Le décalage était toujours présent même avec cette route. La solution était de cacher complètement la div (celle avec les onglets dedans), faire les modifications css à travers le code jquery, puis montrer la div avec les onglets. Fonctionne comme un charme et le client est maintenant heureux. Merci tout le monde! – Josh

Questions connexes