Bonjour, j'aimerai savoir comment je pourrais avoir un tooltip qui s'affiche avec le nom de l'image sur laquelle je passe ma souris dans un ThumbnailPicker.
Merci d'avance.
Bonjour, j'aimerai savoir comment je pourrais avoir un tooltip qui s'affiche avec le nom de l'image sur laquelle je passe ma souris dans un ThumbnailPicker.
Merci d'avance.
Salut,
Si tu veux mettre un tooltip Dojo, c'est "compliqué" car pas prévu actuellement . Il faut modifier le code du widget.
Si tu veux juste mettre le tooltip standard c'est un peu plus simple puisqu'il suffit de mettre le nom de l'attribut du store à afficher:
Par exemple:
avec un flux JSON de ce type:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <div id="thumbPicker" dojoType="dojox.image.ThumbnailPicker" size="400" titleAttr="thumb" ></div>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 { items: [ { "thumb":"images/extraWide.jpg", "large":"images/extraWide.jpg", "title":"I'm wide, me", "link":"http://www.flickr.com/photos/44153025@N00/748348847" }, ...
ERE
Quand une tête pense seule, elle devient folle.
ok, merci. Une autre question concernant le thumbnailPicker, je veux changer le store associé au thumbnailPicker lors d'un click sur un objet, j'ai essayé le code qui suit, les images se changent bien mais lorsque je clique sur une image pour la visualiser en grand, cela marche seulement lors du premier store, une fois le store changé ça me met une erreur du style [Exception... "'Error: dojo.data.ItemFileReadStore: Invalid item argument.' (...) location: "<unknown>" data: no]
dans la page html :
fonction javascript appelée lors du click :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <div id="thumbPicker1" dojoType="dojox.image.ThumbnailPicker" size="400"> </div> <div id="thumbPicker1Clicker"></div>
qu'est ce que je fais mal?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 function thumb(nom){ var thumb = dijit.byId("thumbPicker1"); var url=nom+".json"; var store = new dojo.data.ItemFileReadStore({url: url}); var request= {count:10, start:0}; var itemNameMap = {imageThumbAttr: "chemin"}; thumb.setDataStore(store, request, itemNameMap); dojo.subscribe(thumb.getClickTopicName(), function(packet){ var title = store.getValue(packet.data, "name"); var id = store.getValue(packet.data, "idDocument"); var lien = store.getValue(packet.data, "chemin"); dojo.byId("thumbPicker1Clicker").innerHTML = '<div class="image"><img src="'+lien+'" width="300" height="200">Titre : '+title+'</div>'; }); }
Salut,
Je pense que ton souci est lié au fait que le subscribe est encore actif. Quand tu charges un nouveau store, il ne fait pas oublier d'annuler la souscription précédente à l'événement getClickTopicName. Sinon tu recevras l'information (donc en double) alors que le store a changé.
ERE
Quand une tête pense seule, elle devient folle.
j'ai ajouté ça pour supprimer la souscription :
mais ça ne marche toujours pas, suis je dans le bon?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 var thumbNail = dijit.byId("thumbPicker1"); dojo.unsubscribe(thumbNail.getClickTopicName());
Non.
ERE
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 var handle= dojo.subscribe(.....); ... dojo.unsubscribe(handle);
Quand une tête pense seule, elle devient folle.
Nikel, ça marche merci beaucoup emmanuel remy pour toutes ces réponses....
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager