注册 | 登录
收藏 | 帮助
热门文章
编辑推荐
相关文章  
SNIFF原理解析
Microsoft AntiSpyware微软出品的
proftp详细配置一览
设置Microsoft SQL Server全文索
Microsoft SQL Server 查询处理器
Microsoft SQL Server 查询处理器
Microsoft SQL Server 7.0数据库
Microsoft SQL Server 7.0数据库
Microsoft SQL Server 7.0安装问
Microsoft SQL Server 7.0安装问
您现在的位置: 顶尖设计 >> IT学院 >> 编程开发 >> PHP >> 文章正文
仿OfficeXP风格的左边版面列表
作者:徐祖宁  来源:CSDN  点击:  更新:2006-12-19
简介:

<?php
/**
* 仿OfficeXP风格的左边版面列表
* --------------------------------------------------------------------------------
* blood 于 2/19/2002 4:47:11 PM 加贴在 Visual Basic
*
* 徐祖宁(唠叨) 移植于 3/2/2002
* OOP 版
*
*/

class Frame {
function run() {
global $PHP_SELF;
echo <<<EOD
<HTML>
<HEAD>
<TITLE>Menu Sample</TITLE>
<SCRIPT LANGUAGE="JavaScript">
if (window != top) top.location.href = location.href;
</SCRIPT>
</HEAD>
<FRAMESET cols="161,*">
<FRAME MARGINWIDTH="0" SRC="$PHP_SELF?key=menu" NAME="menu" SCROLLING=no NORESIZE>
<FRAME MARGINWIDTH="0" SRC="$PHP_SELF?key=about" NAME="main" scrolling=auto NORESIZE>
</FRAMESET>
</HTML>
EOD;
}
}

class About {
function run() {
echo <<<EOD
<style>
body { font-size: 9pt; font-family:"Verdana", "Arial", "宋体"; }
</style>
<body>
<center>
<br>
<br>
关于此菜单
<br>
<br>
说明,此菜单程序只能使用在IE 5以上的版本使用,NetSpace下不能使用,推荐使用IE 6正式中文版
</center>
</body>
EOD;
}
}

class Page {
function run($id1) {
global $id;
echo <<<EOD
<style>
body { font-size: 9pt; font-family:"Verdana", "Arial", "宋体"; }
</style>
<body>
<center>
<br>
<br>
欢迎访问 $id
</center>
</body>
EOD;
}
}

class Menu {
var $MenuOn = 0; //定义分类菜单数目
var $MenuBackColor = "lightgrey"; //定义分类菜单背景颜色
var $MenuFontSize = "9pt"; //定义分类菜单字体
var $MenuBarHeight = 20; //定义分类菜单高度
var $ItemTextColor = "#000000"; //定义分类菜单项目文字颜色
var $ItemBackColor = "lightgrey"; //定义分类菜单项目背景颜色
var $TopMenuHeight = 0; //定义分类菜单与顶部的间距
var $SelectedItemDarkBorder = "#08246B"; //定义分类菜单项目在鼠标移动到上面时的暗边框颜色
var $SelectedItemLightBorder = "#08246B"; //定义分类菜单项目在鼠标移动到上面时的亮边框颜色
var $SelectedItemBackgroundColor = "#B5BED6"; //定义分类菜单项目在鼠标移动到上面时的背景颜色
var $menuSubSectionBackColor = "darkgray"; //定义二级菜单背景颜色
var $menuSubSectionFontColor = "black"; //定义二级菜单菜单字体颜色
var $defTarget = "main"; //定义菜单项目超连接默认目标框架

/**
* menuStartSection($Seq, $Label)
* 制作分类菜单
* $Seq = 分类菜单序列号,使用菜单序列号控制启动是显示顺序
* $Label = 分类菜单标题
*/
function menuStartSection($SectionSeq, $SectionName) {
$menuBackColor = $this->menuBackColor;
$MenuBarHeight = $this->MenuBarHeight;
$MenuFontSize = $this->MenuFontSize;
$menuSection = $this->menuSection;
$ItemBackColor = $this->ItemBackColor;
$mh = $this->MenuBarHeight-2;
echo <<<EOD

<table bgcolor="$menuBackColo" border=0 cellspacing=0 cellpadding=0 width="100%" height="1">
<tr height="1">
<td bgcolor="white"></td>
</tr>
</table>
<table bgcolor="$menuBackColor" border=1 cellspacing=0 cellpadding=0 bordercolor="$menuBackColor" width="100%" height="$mh">
<tr vAlign="center" height="100%">
<td nowrap border=3 width="100%" height="100%" bordercolordark=lightgrey bordercolorlight=lightgrey align=center style="cursor:hand;" title="$SectionName" onmouseover="status=’$SectionName’;" onmouseout="status=’’;" onclick="StartSection(menuSection$SectionSeq);">$SectionName</td>
</tr>
</table>
<table border=0 cellspacing=0 cellpadding=0 width="100%" height="1">
<tr height="1">
<td bgcolor="Black"></td>
</tr>
</table>
<div name=menuSection$SectionSeq id=menuSection$SectionSeq style="display:’none’;overflow:hidden; height:1px;marginRight:0px;">
<table bgcolor=$ItemBackColor style="marginRight=0px;" border=1 cellspacing=0 cellpadding=0 bordercolor="$ItemBackColor" width="100%">
EOD;
}

/**
* menuAddItem($Label, $Description, $URL, $Target="")
* 制作菜单项目
* $Label = 项目标题
* $Description = 项目简介
* $URL = 超连接地址
* $Target = 超连接目标框架,默认为$defTarget
*/
function menuAddItem($itemLabel, $StatusText, $URL, $target="") {
$SelectedItemDarkBorder = $this->SelectedItemDarkBorder;
$SelectedItemLightBorder = $this->SelectedItemLightBorder;
$SelectedItemBackgroundColor = $this->SelectedItemBackgroundColor;
$ItemTextColor = $this->ItemTextColor;

if($target == "") $target = $this->defTarget;
$URL = $this->buildURL($URL);
echo <<<EOD

<tr>
<td width="100%" align=left style="cursor:hand;" title="$StatusText" onmouseover="this.borderColorDark=’$SelectedItemDarkBorder’;this.borderColorLight=’$SelectedItemLightBorder’;this.style.backgroundColor=’$SelectedItemBackgroundColor’;this.style.color=’black’;status=’$StatusText’;" onmouseout="this.borderColorDark=’’;this.borderColorLight=’’;this.style.backgroundColor=’’;status=’’;" onclick="window.open(’$URL’,’$target’);"><font color="$ItemTextColor">$itemLabel</font></td>
</tr>
EOD;
}

/**
* menuAddSubSection($Label)
* 制作二级分类菜单。
* $Label = 二级分类菜单标题
*/
function menuAddSubSection($ItemLabel) {
$menuSubSectionBackColor = $this->menuSubSectionBackColor;
$menuSubSectionFontColor = $this->menuSubSectionFontColor;
echo <<<EOD

<tr bgcolor="$menuSubSectionBackColor">
<td align=center width="100%"><font color="$menuSubSectionFontColor">$ItemLabel</font></td>
</tr>
EOD;
}

/**
* menuAddSubSectionLine()
* 制作项目分割线,使用高度为2的图片
*/
function menuAddSubSectionLine() {
echo <<<EOD

<tr vAlign="center">
<td align=center width="100%" height="2" bgcolor="white">
<table border=0 cellspacing=0 cellpadding=0 width="100%" height="1">
<tr vAlign="center" height="2">
<td bgcolor="white"></td>
</tr>
</table>
</td>
</tr>
EOD;
}

/**
* menuEndSection()
* 分类菜单结束
*/
function menuEndSection() {
echo <<<EOD

</table>
</div>
EOD;
}

/**
* menuSectionAsItem($Label, $Description, $URL, $Target="")
* 制作带超连接的分类菜单,类似菜单项目,可以直接使用
* $Label = 分类菜单标题
* $Description = 分类菜单简介
* $URL = 超连接地址
* $Target = 超连接目标框架,默认为$defTarget
*/
function menuSectionAsItem($SectionSeq, $SectionName, $SectionDesc, $URL, $target="") {
$menuBackColor = $this->menuBackColor;
$MenuBarHeight = $this->MenuBarHeight;

if($target == "") $target = $this->defTarget;
$URL = $this->buildURL($URL);
$mh = $this->MenuBarHeight-2;
echo <<<EOD

<table border=0 cellspacing=0 cellpadding=0 width="100%" height="1">
<tr vAlign="center" height="1">
<td bgcolor="white"></td>
</tr>
</table>
<table bgcolor="$menuBackColor" border=1 cellspacing=0 cellpadding=0 bordercolor="$menuBackColor" width="100%" height="Smh">
<tr height="100%" vAlign="center">
<td border=3 vAlign="middle" width="100%" height="100%" bordercolordark=lightgrey bordercolorlight=lightgrey align=center style="cursor:hand;" title="$SectionDesc" onmouseover="status=’$SectionDesc’;" onmouseout="status=’’;" onclick="window.open(’$URL’,’$target’);"><font color="#000000">$SectionName</font></td>
</tr>
</table>
<table border=0 cellspacing=0 cellpadding=0 width="100%" height="1">
<tr height="1">
<td bgcolor="Black"></td>
</tr>
</table>
EOD;
}

/**
* 将超连接中的空格替换为+号
*/
function buildURL($inURL) {
return str_replace(" ","+",$inURL);
}
/**
* 输出javascript脚本
*/
function scriptOut() {
$dh = $this->TopMenuHeight+($this->MenuBarHeight * $this->menuOn);
echo <<<EOD

<script language=javascript>
var AvailHeight // 定义可利用的高度
var LastSection // 定义将要打开的菜单关闭
var ThisSection // 定义当前需要打开的菜单
var timerDelay=15 // 定义并设置延时
var menuActive=false // 测定当前活动的菜单
var VisibleHeight // 定义显示高度,确定是否显示滚动条
var AniRatio // 定义菜单显示滑动的速度

function getSizing() {
// 菜单打开时得到的可利用的高度
AvailHeight=document.body.clientHeight-$dh
if(AvailHeight<=0) {
LastSection.style.display=’none’;
}else {
// 改变菜单显示滑动速度的比率
AniRatio=0.75; // 设定速度
if (AvailHeight>200) {AniRatio=0.667;}
if (AvailHeight>500) {AniRatio=0.5;} // 根据可利用高度调整速度
LastSection.style.height=AvailHeight;
LastSection.style.overflow=’visible’;
LastSection.style.display=’’;
VisibleHeight=parseInt(LastSection.clientHeight);
if (VisibleHeight>AvailHeight) {LastSection.style.overflow=’auto’;}else{LastSection.style.overflow=’hidden’;};
}
}

function slideMenu() {
// 菜单滑动函数
if(parseInt(LastSection.style.height)>1) {
LastSection.style.height=parseInt(parseInt(LastSection.style.height)*AniRatio);
ThisSection.style.height=AvailHeight-parseInt(LastSection.style.height);
var movetimer=setTimeout("slideMenu()",timerDelay) ;
}else {
// 完成菜单滑动,显示新打开的菜单,隐藏前面以打开的菜单
LastSection.style.display=’none’;
ThisSection.style.height=AvailHeight;
menuActive=false;
if (VisibleHeight>AvailHeight) {ThisSection.style.overflow=’auto’;};
ThisSection.style.marginRight=0;
LastSection=ThisSection;
clearTimeout(movetimer);
}
}

function StartSection(theSection) {
// 开始滑动菜单,检测是否对菜单进行单击
if(menuActive==false) {
if(LastSection!=theSection) {
menuActive=true;
ThisSection=theSection;
LastSection.style.overflow=’hidden’;
ThisSection.style.overflow=’visible’;
ThisSection.style.display=’’;
VisibleHeight=parseInt(ThisSection.clientHeight);
ThisSection.style.overflow=’hidden’;
ThisSection.style.display=’none’;
ThisSection.style.height=1;
LastSection.style.height=AvailHeight-1;
LastSection.style.display=’’;
ThisSection.style.display=’’;
slideMenu()
}
}
}

wi

[1] [2] 下一页






  • 上一篇文章:
  • 下一篇文章:
  • 分享此文:该页面添加到 Mister Wong 添加到雅虎Yahoo!收藏 Add to:Del.icio.us Post to Furl Digg this 添加到Google书签 reddit spurl blogmarks 365Key 评论  收藏  分享  打印
     我来说两句
    姓名:       验证码:   
    主页: 
    评分: 1分 2分 3分 4分 5分
    本频道近期热评文章:
      关于我们 | 联系我们 | 站点地图 | 广告投放 | 友情链接 | 在线留言 | 版权申明
    版权所有 © 2004-2007 顶尖设计(bobd.cn)
    未经授权禁止转载,摘编,复制本站内容或建立镜像. 沪ICP备07504942号 
    网络110
    报警服务