|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Nouveau Membre du Club
![]() |
Bonjour,
Je débute avec jquery et j'ai créé un code qui fonctionne mais qui à mon avis n'est pas optimisé, j'aurais aimé avoir votre avis. J'ai une carte de France avec des zones réactives : #z1, #z2, #z3, ..., #z10 J'ai plusieurs div : #x1, #x2, ...#x10. contenant des informations sur les commerciaux : #x1 = M Dupond #x2 = M Durand ... Au survol de la zone #z1, l'information du commercial contenu dans #x1 s'affiche dans une boîte de dialogue jquery UI Le problème c'est que j'ai créé autant de fonctions que j'ai de zones, je me demandait si je n'aurais pas pu faire cela autrement Auriez-vous une idée pour optimiser tout cela Code :
|
||
|
|
00
|
|
|
#2 | ||||
|
Membre Expert
![]() ![]() Mathieu ROBINDéveloppeur Web Inscription : mai 2006 Messages : 1 116 ![]() |
Conseils d'optimisation : commence par mettre en cache tes sélecteurs. Au moins tu ne feras pas pleurer ton navigateur. Comment faire dans ton cas ?
Code :
Sinon pour te simplifier la vie. Tu crées une fonction unique qui contient l'essentiel du code que tu veux exécuter à chaque fois. Avec un paramètre qui correspond à l'id du truc traité. En gros, pour résumer : Code :
__________________
Mon blog techno et son billet hebdomadaire sur l'actualité jQuery. Et mon blog cuisine pour une personne. Le bouton ne masse pas les pieds, mais ça aide la communauté.
|
||||
|
00
|
|
|
#3 |
![]() ![]() Daniel HagnoulÉtudiant perpétuel Inscription : février 2009 Messages : 3 221 ![]() |
Bonsoir
Dans ce genre de cas, je préfère un seul dialogue, il suffit d'adapter son titre et son contenu avant de l'ouvrir. Vous pouvez stocker les données dans un objet ou dans un array.
__________________
FAQ jQuery Mon cahier d’exercices sur jQuery & CoSi un message vous a aidé ou vous semble pertinent, votez pour lui ! ![]() |
|
00
|
|
|
#4 | ||||||
|
Nouveau Membre du Club
![]() |
Merci pour vos réponses
>> gwinyam Je vais tester ceci, effectivement ça sera plus simple. Merci pour le conseil des variables, je ne savais pas que ça économisait de la ressource Dois je faire : Code :
Ta solution est une bonne idée en plus je n'aurais plus de problème d'affichages simultané de plusieurs boîtes de dialogue. Par contre je ne sais pas trop comment faire, car j'utilise le CMS Drupal pour générer mes div contenant les informations des commerciaux. Est-ce que je dois masquer les div générées par le cms et récupérer le contenu via jquery que j'injecterais dans un tableau ? Un truc du genre Code :
Voici la nouvelle version de mon code, dois-je passer par les variables pour les zones $('#z1') ? Qu'en pensez-vous ? Code :
|
||||||
|
|
00
|
|
|
#5 | |||||
![]() ![]() Daniel HagnoulÉtudiant perpétuel Inscription : février 2009 Messages : 3 221 ![]() |
Bonsoir
En principe, le code suivant doit vous donner un array (voir http://api.jquery.com/map/) de "html" : Code :
Citation:
Code :
__________________
FAQ jQuery Mon cahier d’exercices sur jQuery & CoSi un message vous a aidé ou vous semble pertinent, votez pour lui ! ![]() |
|||||
|
00
|
|
|
#6 |
|
Nouveau Membre du Club
![]() |
merci pour tous vos conseils, pour la fonction map je ne connaissais pas je vais me pencher sur la question.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com