Bonsoir tout le monde,
Tout d'abord je tiens a dire que je suis débutant en Javascript, merci d'être indulgent
Voilà, j'aimerai me lancer dans la création d'une fonction (j'ai essayé d'écrire une classe mais je n'ai pas encore les bonnes notions pour en faire en JavaScript).
Je vous explique tout d'abord mon code HTML...
Cela va être du genre :
Lors du clique sur un picture_[0-9*] j'aimerai qu'il récupère le nombre pour ouvrir l'élément content_[nombre_reçu]
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <div id="portefolio"> <div id="picture_1" class="picture_portefolio"></div> <div id="content_2" class="content_portefolio"></div> <div id="picture_2" class="picture_portefolio"></div> <div id="content_2" class="content_portefolio"></div> <div id="picture_3" class="picture_portefolio"></div> <div id="content_2" class="content_portefolio"></div> </div>
Sachant que j'aimerai que quand je clique sur un autre élément, il me ferme celui qui est ouvert.
Le problème pour moi est enfaite de récupérer le nombre dérrière et de lister les éléments déjà ouvert.
Je pense que pour pouvoir lister tout les éléments déjà ouvert il faut utiliser Event.findElement()...
Voilàa ce que j'ai fais :
Pouvez vous me donner un coup de main s'il vous plait ?
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
25
26
27
28
29
30
31
32
33
34
35 var Portefolio = Class.create(); Portefolio.prototype = { initialize : function(element) { this.element = $(element); }, getInit : function() { Event.observe('picture_[0-9*]', 'click', function() { content_open = Event.findElement(this.element, 'content_'); if(content_open != null) { Effect.BlindUp(content_open.tagName); } else { nbr = ??; id_content = 'content_' + nbr; Effect.toggle(id_content, 'slide'); if(id_content.visible()) { Effect.ScrollTo(id_content); } } } } } Event.observe(window,'load',function(){ new Portefolio('portefolio'); });
Merci d'avance,
Cordialement
Partager