Pb de lien en cible "blank " et d'icone différenciée sur un "tree"

sharpeipanam Messages postés 19 Date d'inscription lundi 10 octobre 2005 Statut Membre Dernière intervention 31 janvier 2008 - 24 févr. 2006 à 02:26
Mindiell Messages postés 558 Date d'inscription jeudi 25 juillet 2002 Statut Membre Dernière intervention 5 septembre 2007 - 24 févr. 2006 à 11:01
Bonjour à tous

Je souhaite travaillé sur un "tree" et j'ai trouvé ce lien qui est une bonne source: http://www.destroydrop.com/javascripts/tree/ le fichier zip que l'on peut trouver sur cette page possède un exemple, un dossier image, un fichier css et un fichier js.

Cependant, il y a deux choses que je ne comprends pas et que j'aimerais faire.

1. comment donner un lien avec une cible "blank"(ou placer le code)?

2. comment différencier par une icone différente un lien actif d'un lien inactif?

Comme je pense (sauf erreur) que la manip se situe dans le fichier .js, je vous le montre ici (sinon voir la source dans le zip du lien):



<HR>



/**************************************************************************
Copyright (c) 2001-2003 Geir Landrö
JavaScript Tree -
Version 0.96


This script can be used freely as long as all copyright messages are
intact.
**************************************************************************/


// Arrays for nodes and icons
var nodes = new Array();;
var openNodes = new Array();
var icons = new Array(6);


// Loads all icons that are used in the tree
function preloadIcons() {
icons[0] = new Image();
icons[0].src = "img/plus.gif";
icons[1] = new Image();
icons[1].src = "img/plusbottom.gif";
icons[2] = new Image();
icons[2].src = "img/minus.gif";
icons[3] = new Image();
icons[3].src = "img/minusbottom.gif";
icons[4] = new Image();
icons[4].src = "img/folder.gif";
icons[5] = new Image();
icons[5].src = "img/folderopen.gif";
}
// Create the tree
function createTree(arrName, startNode, openNode) {
nodes = arrName;
if (nodes.length > 0) {
preloadIcons(); if (startNode null) startNode 0;
if (openNode != 0 || openNode != null) setOpenNodes(openNode);

if (startNode !=0) {
var nodeValues = nodes[getArrayId(startNode)].split("|");
document.write("" + nodeValues[2] + "
");
} else document.write("NOS REFERENCES PAR ACTIVITES
");

var recursedNodes = new Array();
addNode(startNode, recursedNodes);
}
}
// Returns the position of a node in the array
function getArrayId(node) {
for (i=0; i<nodes.length; i++) {
var nodeValues = nodes[i].split("|");
if (nodeValues[0]==node) return i;
}
}
// Puts in array nodes that will be open
function setOpenNodes(openNode) {
for (i=0; i<nodes.length; i++) {
var nodeValues = nodes[i].split("|");
if (nodeValues[0]==openNode) {
openNodes.push(nodeValues[0]);
setOpenNodes(nodeValues[1]);
}
}
}
// Checks if a node is open
function isNodeOpen(node) {
for (i=0; i<openNodes.length; i++)
if (openNodes[i]==node) return true;
return false;
}
// Checks if a node has any children
function hasChildNode(parentNode) {
for (i=0; i< nodes.length; i++) {
var nodeValues = nodes[i].split("|");
if (nodeValues[1] == parentNode) return true;
}
return false;
}
// Checks if a node is the last sibling
function lastSibling (node, parentNode) {
var lastChild = 0;
for (i=0; i< nodes.length; i++) {
var nodeValues = nodes[i].split("|");
if (nodeValues[1] == parentNode)
lastChild = nodeValues[0];
}
if (lastChild==node) return true;
return false;
}
// Adds a new node to the tree
function addNode(parentNode, recursedNodes) {
for (var i = 0; i < nodes.length; i++) {


var nodeValues = nodes[i].split("|");
if (nodeValues[1] == parentNode) {

var ls = lastSibling(nodeValues[0], nodeValues[1]);
var hcn = hasChildNode(nodeValues[0]);
var ino = isNodeOpen(nodeValues[0]);


// Write out line & empty icons
for (g=0; g<recursedNodes.length; g++) {
if (recursedNodes[g] == 1) document.write("");
else document.write("");
}


// put in array line & empty icons
if (ls) recursedNodes.push(0);
else recursedNodes.push(1);


// Write out join icons
if (hcn) {
if (ls) {
document.write("");
} else {
document.write("");
}
} else {
if (ls) document.write("");
else document.write("");
}


// Start link
document.write("");

// Write out folder & page icons
if (hcn) {
document.write("");
} else document.write("");

// Write out node name
document.write(nodeValues[2]);


// End link
document.write("
");

// If node has children write out divs and go deeper
if (hcn) {
document.write("
");
addNode(nodeValues[0], recursedNodes);
document.write("
");
}

// remove last line or empty icon
recursedNodes.pop();
}
}
}
// Opens or closes a node
function oc(node, bottom) {
var theDiv = document.getElementById("div" + node);
var theJoin = document.getElementById("join" + node);
var theIcon = document.getElementById("icon" + node);

if (theDiv.style.display == 'none') {
if (bottom==1) theJoin.src = icons[3].src;
else theJoin.src = icons[2].src;
theIcon.src = icons[5].src;
theDiv.style.display = '';
} else {
if (bottom==1) theJoin.src = icons[1].src;
else theJoin.src = icons[0].src;
theIcon.src = icons[4].src;
theDiv.style.display = 'none';
}
}
// Push and pop not implemented in IE
if(!Array.prototype.push) {
function array_push() {
for(var i=0;i


Si quelqu'un pouvait m'aider sur ce coup, je le remercie d'avance.

1 réponse

Mindiell Messages postés 558 Date d'inscription jeudi 25 juillet 2002 Statut Membre Dernière intervention 5 septembre 2007 1
24 févr. 2006 à 11:01
Avec cet arbre, cela semble impossible...

Sur cette ligne :
document.write("<img id="join" + nodeValues[0] + "" src="img/");


PS: j'ai regardé très vite hein...
0
Rejoignez-nous