[JS] Petits problemes pour un script

Nouveau WRInaute
Salut à tout les WRInautes

Voila une petite question ou plutot une recherche d'un script java , j'ai cherché un peu partout sans vraiment trouvé,

Je vous explique ce que je recherche ,

Je recherchais un script qui au .onclick sur une image permette de changer l'affichage d'un bloc ,

Je m'explique mon systeme de news est classé en plusieurs catégories (comme beaucoup)

L'effet que je souhaite donner est le suivant :

Tout - CATEGORIE 1 - CATEGORIE 2

Ainsi en cliquant par exemple sur catégorie 1 , seules les news de cette catégories s'affichent donc ,

De plus il faut melanger coté client et coté serveur ensemble , pour attribuer à chaque catégorie un affichage précis , je vais essayer de trouver un exemple, mais ce genre de script existe t'il ?

Merci de votre aide ,
 
Nouveau WRInaute
Javascript pardon :)

L'habitude foireuse de cette mauvaise abreviation ^^"

EDIT : Voila modifié [JS]
 
WRInaute accro
soit une div qui contient ta categorie et l'image qui permet le click (expand pour voir collapse pour refermer)

<img src="expand.gif" alt="" onclick="swap('cat1','imm_1');" id="imm_1"/>
<div class="cat1" id="cat1">bla bla bla</div>

Code:
function swap(node,image){
      if(document.getElementById(node).style.display == "none"){
       document.getElementById(node).style.display = "";
      document.getElementById(image).src="collapse.gif";
      }else{
       document.getElementById(node).style.display = "none";
       document.getElementById(image).src="expand.gif";
      }

Je sais pas si ça repond bien a ton attente ...

exemple visible ici : http://qui.quen.grogne.free.fr/annuaire/ (dans l'arbo de l'annuaire)

tout se passe côté client.
 
WRInaute impliqué
Salut,

Pour cette effet tu as deux solutions, soit tu crées plusieurs div avec les news triées par différentes catégories et en JavaScript tu affiches ou cache les divs selon la sélection.

Sinon tu utilises AJAX.

A+
 
WRInaute impliqué
En utilisant cette fonction :

Code:
document.getElementsByClassName = function(cl) {
var retnode = [];
var myclass = new RegExp('\\b'+cl+'\\b');
var elem = this.getElementsByTagName('*');
for (var i = 0; i < elem.length; i++) {
var classes = elem[i].className;
if (myclass.test(classes)) retnode.push(elem[i]);
}
return retnode;
};
 
Discussions similaires
Haut