PHP (Codeigniter) を使用して ul li タグで動的ツリー構造を生成する次のコードがあります。
以下は、事前注文トラバーサル テーブルからデータをフェッチする PHP コードです。
function renderTree($tree, $currDepth = -1) {
$currNode = array_shift($tree);
$result = '';
// Going down?
if ($currNode['depth'] > $currDepth) {
// Yes, prepend <ul>
$result .= '<ul>';
}
// Going up?
if ($currNode['depth'] < $currDepth) {
// Yes, close n open <ul>
$result .= str_repeat('</ul>', $currDepth - $currNode['depth']);
}
// Always add the node
$result .= '<li>' . $currNode['name'] . '</li>';
// Anything left?
if (!empty($tree)) {
// Yes, recurse
$result .= renderTree($tree, $currNode['depth']);
}
else {
// No, close remaining <ul>
$result .= str_repeat('</ul>', $currNode['depth'] + 1);
}
return $result;
}
print renderTree($tree);
また、テーブルのレコードに従って、次のツリー構造が生成されます。
<ul>
<li>Language</li>
<li>
<ul>
<li>PHP</li>
<li>Java</li>
<li>
<ul>
<li>Hybernet</li>
</ul>
</li>
<li>Web</li>
<li>
<ul>
<li>HTML</li>
<li>
<ul>
<li>HTML Canvas</li>
</ul>
</li>
</ul>
</li>
<li>Ruby</li>
</ul>
</li>
</ul>
Jquery ツリー プラグインを使用してアニメーション化したいと考えています。エクスプローラーや階層ツリーモジュールと同じように、親子を非表示にして展開できることを意味します。しかし、これが動的に生成されるため、問題に直面しており、jqueryで構成する方法がわかりません。私はそれについて助けが必要です。前もって感謝します。