2010-12-23 3 views
1

Je fais l'arbre avec l'aide de jquery dans l'arbre quand il y a plus d'un enfant pour un enfant particulier que je veux donner un effet de bascule.il signifie qu'il devrait y avoir une icône plus sur le clic de l'arbre devrait se développer et moins l'image devrait venir sur le clic de l'arbre moins devrait s'effondrer et plus l'image devrait venir.développer effondrement treenode en utilisant jquery

comment développer ce tout exemple de travail de noeud d'arbre sera utile

De cette manière, je l'ai utilisé votre fonction

function createSpanImageNode(spnNew) { 
    var spnImage = document.createElement("span"); 
    spnImage.id = spnNew + "_" + "spn1"; 
    $(spnImage).addClass('SpanPlus'); 
    spnImage.setAttribute('onclick', 'toogleNode("' + spnImage.id + '")'); 
    return spnImage; 
} 

function toogleNode(spnID) { 
     debugger; 
     var dv = $("#" + spnID).parents("div:first"); 
     var chkUl = $(dv).find('ul').length; 
     if (chkUl.length > 0) { 
      if ($("#" + spnID).hasClass('SpanPlus')) 
       $("#" + spnID).removeClass('SpanPlus').addClass('SpanMinus'); 
      else 
       $("#" + spnID).removeClass('SpanMinus').addClass('SpanPlus'); 
      $(dv).find('ul').animate({ height: 'toggle' }); 
     } 
    } 

Mais quand il obtient la valeur chkul 1 cela signifie qu'il doit aller à l'intérieur la boucle de mais il n'est pas allé à l'intérieur je ne sais pas pourquoi pouvez-vous me dire.

Répondre

1

Je ne suis pas sûr de la structure de votre arbre, mais vous pouvez utiliser quelque chose comme ça.

$(img.handle).click(function(){ 
    if($(this).hasClass('plus')) 
     $(this).removerClass('plus').addClass('minus'); 
    else 
     $(this).removerClass('minus').addClass('plus'); 
    $(this).find('child').animate({height: 'toggle'}); 
}); 
+0

vous pouvez également changer l'image attribut src, mais en utilisant des classes est recommandé – Omid

+1

'' removerClass' doit être removeClass' - mais 'toggleClass' vous permettrait de laisser tomber la condition. – sje397

+0

Merci sje397, j'ai mal orthographié – Omid

Questions connexes