xzn_html_tree(1.0) 可折叠大纲

xyq130797

xyq130797

2016-02-19 19:21

有一种朋友不在生活里,却在生命力;有一种陪伴不在身边,却在心间。图老师即在大家的生活中又在身边。这么贴心的服务你感受到了吗?话不多说下面就和大家分享xzn_html_tree(1.0) 可折叠大纲吧。

/** 可折叠大纲
* 类名 Tree
* 存放位置 xzn/html/tree.php
*/
/** 节点类
* 用于在树中保存相关参数
*
* @param $id  节点号
* @param $text 节点标题
* @param $value 节点参数,一般为url
* @param $image 节点图片
*/
class TreeNode {
  var $id;
  var $text;
  var $value;
  var $image;
  function TreeNode($id,$text,$value,$image) {
   $this-id = $id;
   $this-text = $text;
   $this-value = $value;
   $this-image = $image;
  }
}
/** 树类
* 用于保存和输出可折叠大纲
* 可折叠大纲使用FrontPage 2000的JavaScript脚本
*
* 方法
* set()
* 设置节点,节点编号采用1.2.3.4或1-2-3-4的形式。
* 无层次限制。输入次序不限。
* @param $id  节点号
* @param $text 节点标题
* @param $value 节点参数,一般为url
* @param $image 节点图片
*
* display()
* 向页面输出可折叠大纲
*
* 属性
* @public $node 数组,用于保存节点
* @public $jspath 脚本outline.js存放位置
*/
class Tree {
  var $node;
  var $jspath;
  function set($id,$text,$value="",$image="plus.gif") {
   $d = split("[.-]",$id);
   $e = "";
   for($i=0;$icount($d);$i++)
    $e .= "[".$d][$i]."]";
   $n = new TreeNode($id,$text,$value,$image);
   eval("$p=&$this-node$e;");
   $p[node] = $n;
  }
  function display() {
   echo 'script language="JavaScript" fptype="dynamicoutline"'."";
   echo '!--'."";
   echo 'function dynOutline() {}'."";
   echo '//--'."";
   echo '/script'."";
   echo 'script language="JavaScript1.2" fptype="dynamicoutline" src="'.$jspath.'outline.js"'."";
   echo '/script'."";
   echo 'script language="JavaScript1.2" fptype="dynamicoutline" for="document" event="onreadystatechange()"'."";
   echo '!--'."";
   echo 'initOutline()'."";
   echo '//--'."";
   echo '/script'."";
   echo 'table dynamicoutline initcollapsed border="0" cellpadding="0" cellspacing="0" onclick="dynOutline()"'."";
   ksort($this-node);
   reset($this-node);
   while(list($key,$value) = each($this-node)) {
    $this-next($value,0);
   }
   echo "/table";
  }
  function next($node,$level) {
   if(! is_array($node))
    return;
   if(isset($node[node])) {
//   echo $level.",".$node[node]-id.",".$node[node]-text.",".$node[node]-value.",".$node[node]-image."";
    echo 'tr'."";
    echo 'td valign="baseline" width="42"img src="'.$node[node]-image.'"/td'."";
    echo 'td valign="top" width="100%"';
    if(empty($node[node]-value))
     echo $node[node]-text."";
    else
     echo 'a href="'.$node[node]-value.'"'.$node[node]-text."/a";
    echo 'table border="0" cellpadding="0" cellspacing="0" width="100%"'."";
   }
   if(count($node) == 1) {
    echo "/td/tr/table";
    return;
   }
   ksort($node);
   reset($node);
   while(list($key,$value) = each($node)) {
    $this-next($value,$level+1);
   }
   echo "/td/tr/table";
  }
}
展开更多 50%)
分享

猜你喜欢

xzn_html_tree(1.0) 可折叠大纲

Web开发
xzn_html_tree(1.0) 可折叠大纲

Word的折叠大纲是什么

word
Word的折叠大纲是什么

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

意大利可折叠的超趣味塔形书架

生活常识
意大利可折叠的超趣味塔形书架

Josef Cadek设计的可折叠自行车

工业设计 设计素描
Josef Cadek设计的可折叠自行车

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

可折叠式旅行电热水壶

生活常识
可折叠式旅行电热水壶

HTML大纲算法对结构的影响

平面设计 海报设计 广告设计 画报设计 签名设计 服装设计 名片设计 画册设计 版式设计 商标设计
HTML大纲算法对结构的影响

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Win8 将任意文件固定到“开始”屏幕的方法

Win8 将任意文件固定到“开始”屏幕的方法

在服务器上安装和使用MySQL的注意事项

在服务器上安装和使用MySQL的注意事项
下拉加载更多内容 ↓