首页 后端开发 php教程 OfficeXP_menu过程版_PHP教程

OfficeXP_menu过程版_PHP教程

Jul 13, 2016 pm 05:24 PM
endif key menu 定义 过程

<?php
/**
* 仿officexp风格的左边版面列表    
* --------------------------------------------------------------------------------
* blood 于 2/19/2002 4:47:11 pm 加贴在 visual basic
*
* 徐祖宁(唠叨) 移植于 2/28/2002
* 更正部分错误
*
*/

if($key == ""):
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;
endif;

if($key == "menu"):
/**
*
* $menuon                      定义分类菜单数目
* $menubackcolor               定义分类菜单背景颜色
* $menufontsize                定义分类菜单字体
* $menubarheight               定义分类菜单高度
* $itemtextcolor               定义分类菜单项目文字颜色
* $itembackcolor               定义分类菜单项目背景颜色
* $topmenuheight               定义分类菜单与顶部的间距
* $selecteditemdarkborder      定义分类菜单项目在鼠标移动到上面时的暗边框颜色
* $selecteditemlightborder     定义分类菜单项目在鼠标移动到上面时的亮边框颜色
* $selecteditembackgroundcolor 定义分类菜单项目在鼠标移动到上面时的背景颜色
* $menusubsectionbackcolor     定义二级菜单背景颜色
* $menusubsectionfontcolor     定义二级菜单菜单字体颜色
* $deftarget                   定义菜单项目超连接默认目标框架
*/
$topmenuheight = 0;           //设置分类菜单与顶部的间距
$menubarheight = 20;          //设置分类菜单高度
$menufontsize = "9pt";            //设置菜单字体大小

//我们使用仿office xp风格的外观,也可以使用普通外观。
$menu_mode = false;

if($menu_mode) {
  //普通菜单外观
  $menubackcolor = "lightgrey";             //设置背景颜色
  $itembackcolor = "#7f7f7f";               //设置菜单项目背景色
  $itemtextcolor = "#ffffff";               //设置菜单项目文字颜色
  $selecteditemdarkborder = "#ffffff";      //设置菜单项目在鼠标移动到上面时的暗边框颜色
  $selecteditemlightborder = "#000000";     //设置菜单项目在鼠标移动到上面时的亮边框颜色
  $selecteditembackgroundcolor = "";        //设置菜单项目在鼠标移动到上面时的背景颜色
  $menusubsectionbackcolor = "lightgrey";   //设置二级菜单背景颜色
  $menusubsectionfontcolor="black";          //设置二级菜单字体颜色
}else {
  //仿office xp风格外观
  $menubackcolor = "lightgrey";             //设置背景颜色
  $itembackcolor = "lightgrey";             //设置菜单项目背景色
  $itemtextcolor = "#000000";               //设置菜单项目文字颜色
  $selecteditemdarkborder = "#08246b";      //设置菜单项目在鼠标移动到上面时的暗边框颜色
  $selecteditemlightborder = "#08246b";     //设置菜单项目在鼠标移动到上面时的亮边框颜色
  $selecteditembackgroundcolor = "#b5bed6"; //设置菜单项目在鼠标移动到上面时的背景颜色
  $menusubsectionbackcolor = "darkgray";    //设置二级菜单背景颜色
  $menusubsectionfontcolor = "black";       //设置二级菜单字体颜色
}
$deftarget = "main";    //设置菜单项目超连接默认目标框架

echo <<<eod
<style>
td { font-size: $menufontsize; font-family:"verdana", "arial", "宋体"; }
</style>
<body leftmargin=0 topmargin=0 rightmargin=0 bgcolor="$menubackcolor">
eod;

$menuon = 0;             //对菜单数目初始化

/**
* 绘制菜单方法:
* menustartsection($seq, $label)
*   制作分类菜单
*   $seq = 分类菜单序列号,使用菜单序列号控制启动是显示顺序
*   $label = 分类菜单标题
* menuadditem($label, $description, $url, $target="")
*   制作菜单项目
*   $label = 项目标题
*   $description = 项目简介
*   $url = 超连接地址
*   $target = 超连接目标框架,默认为$deftarget
* menuaddsubsection($label)
*   制作二级分类菜单。
*   $label = 二级分类菜单标题
* menuaddsubsectionline()
*   制作项目分割线,使用高度为2的图片
* menuendsection()
*   分类菜单结束
* menusectionasitem($label, $description, $url, $target="")
*   制作带超连接的分类菜单,类似菜单项目,可以直接使用
*   $label = 分类菜单标题
*   $description = 分类菜单简介
*   $url = 超连接地址
*   $target = 超连接目标框架,默认为$deftarget
*/

/**
* 函数定义
*/
function menuadditem($itemlabel, $statustext, $url, $target="") {
  global $deftarget,
         $selecteditemdarkborder,
         $selecteditemlightborder,
         $itemtextcolor,
         $selecteditembackgroundcolor,
         $menufontsize ;
  if($target == "") $target = $deftarget;
  $url = rawurldecode($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;
}

function menuaddsubsection($itemlabel) {
  global $menusubsectionbackcolor,
         $menufontsize,
         $menusubsectionfontcolor;
  echo <<<eod

<tr bgcolor="$menusubsectionbackcolor"><td align=center width="100%"><font color="$menusubsectionfontcolor">$itemlabel</font></td></tr>
eod;
}

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;
}

function menusectionasitem($sectionseq, $sectionname, $sectiondesc, $url, $target="") {
  global $deftarget,
         $menubackcolor,
         $menubarheight,
         $menufontsize;
  if($target == "") $target = $deftarget;
  $url = rawurldecode($url);
  $mh = $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 menustartsection($sectionseq, $sectionname) {
  global $menubackcolor,
         $menubarheight,
         $menufontsize,
         $menusection,
         $itembackcolor;
  $mh = $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;
}

function menuendsection() {
  echo <<<eod

</table>
</div>
eod;
}

/**
* 创建菜单
*/
  menustartsection(2, "代码世界");
  menuadditem("joy asp", "欢迎访问joy asp", "$php_self?key=page&id=joy asp");
  menuadditem("java 世界", "欢迎访问java 世界", "$php_self?key=page&id=java 世界");
  menuadditem("dotnet 时代", "欢迎访问dotnet 时代", "$php_self?key=page&id=dotnet 时代");
  menuadditem("visual basic", "欢迎访问visual basic", "$php_self?key=page&id=visual basic");
  menuadditem("delphi", "欢迎访问delphi", "$php_self?key=page&id=delphi");
  menuendsection();

  menustartsection(3, "开心一刻");
  menuadditem("传统笑话", "传统笑话", "$php_self?key=page&id=传统笑话");
  menuadditem("近代笑话", "近代笑话", "$php_self?key=page&id=近代笑话");
  menuaddsubsection("儿童类");
  menuadditem("校园笑话", "校园笑话", "$php_self?key=page&id=校园笑话");
  menuadditem("幼儿笑话", "幼儿笑话", "$php_self?key=page&id=幼儿笑话");
  menuadditem("少年笑话", "少年笑话", "$php_self?key=page&id=少年笑话");
  menuaddsubsectionline();
  menuadditem("中学时代笑话", "中学时代笑话", "$php_self?key=page&id=中学时代笑话");
  menuaddsubsection("成人笑话");
  menuadditem("带颜色的笑话", "带颜色的笑话", "$php_self?key=page&id=带颜色的笑话");
  menuadditem("笑话林", "笑话林", "$php_self?key=page&id=笑话林");
  menuendsection();

  menusectionasitem(3, "菜单简介", "菜单简介", "$php_self?key=about");

  menustartsection(1, "个人收藏夹");
  menuadditem("dotnet 时代", "欢迎访问dotnet 时代", "$php_self?key=page&id=dotnet 时代");
  menuendsection();

  // 将个人收藏夹定为启动菜单
  $menuon = 4;

/**
* 输出javascript脚本
*/
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-$topmenuheight-($menubarheight*$menuon)
  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()
    }
  }
}

window.onresize=getsizing
// 启动时打开默认的序号为第一个的菜单
lastsection=document.all.menusection1;
lastsection.style.display=;
getsizing();
</script>
</body>
eod;

endif;


if($key == "page"):
echo <<<eod
<style>
body { font-size: 9pt; font-family:"verdana", "arial", "宋体"; }
</style>
<body>
<center>
<br>
<br>
欢迎访问 $id
</center>
</body>
eod;
endif;

if($key == "about"):
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;
endif;
?>
登录后复制


本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

iOS 17:如何在待机模式下更改iPhone时钟样式 iOS 17:如何在待机模式下更改iPhone时钟样式 Sep 10, 2023 pm 09:21 PM

待机是一种锁定屏幕模式,当iPhone插入充电器并以水平(或横向)方向定位时激活。它由三个不同的屏幕组成,其中一个是全屏时间显示。继续阅读以了解如何更改时钟的样式。StandBy的第三个屏幕显示各种主题的时间和日期,您可以垂直滑动。某些主题还会显示其他信息,例如温度或下一个闹钟。如果您按住任何时钟,则可以在不同的主题之间切换,包括数字、模拟、世界、太阳能和浮动。Float以可自定义的颜色以大气泡数字显示时间,Solar具有更多标准字体,具有不同颜色的太阳耀斑设计,而World则通过突出显示世界地

最新可用的win7旗舰版密钥2021版 最新可用的win7旗舰版密钥2021版 Jul 08, 2023 pm 02:37 PM

激活win7旗舰版系统的方法主要是通过win7激活码或者win7激活工具,一般正版的win7激活码是需要花钱的,那么在哪里有免费可用的win7旗舰版密钥呢?今天小编就给大家分享些最新可用的win7旗舰版密钥用于激活系统。一、win7旗舰版激活密钥神key:FJGCP-4DFJD-GJY49-VJBQ7-HYRR2VQ3PY-VRX6D-CBG4J-8C6R2-TCVBD2Y4WT-DHTBF-Q6MMK-KYK6X-VKM6G342DG-6YJR8-X92GV-V7DCV-P4K279CW99-

SQL中的identity属性是什么意思? SQL中的identity属性是什么意思? Feb 19, 2024 am 11:24 AM

SQL中的Identity是什么,需要具体代码示例在SQL中,Identity是一种用于生成自增数字的特殊数据类型,它常用于唯一标识表中的每一行数据。Identity列通常与主键列配合使用,可以确保每条记录都有一个独一无二的标识符。本文将详细介绍Identity的使用方式以及一些实际的代码示例。Identity的基本使用方式在创建表时,可以使用Identit

SpringBoot怎么监听redis Key变化事件 SpringBoot怎么监听redis Key变化事件 May 26, 2023 pm 01:55 PM

一、功能概览键空间通知使得客户端可以通过订阅频道或模式,来接收那些以某种方式改动了Rediskey变化的事件。所有修改key键的命令。所有接收到LPUSHkeyvalue[value…]命令的键。db数据库中所有已过期的键。事件通过Redis的订阅与发布功能(pub/sub)来进行分发,因此所有支持订阅与发布功能的客户端都可以在无须做任何修改的情况下,直接使用键空间通知功能。因为Redis目前的订阅与发布功能采取的是发送即忘(fireandforget)策略,所以如果你的程

短视频的定义是什么 短视频的定义是什么 Dec 23, 2020 pm 02:56 PM

短视频的定义是指在各种新媒体平台上播放的、适合在移动状态和短时休闲状态下观看的、高频推送的视频内容,一般是在互联网新媒体上传播的时长在5分钟以内的视频;内容融合了技能分享、幽默搞怪、时尚潮流、社会热点、街头采访、公益教育、广告创意、商业定制等主题。短视频有着生产流程简单、制作门槛低、参与性强等特点。

MySQL 复合主键的定义与作用 MySQL 复合主键的定义与作用 Mar 15, 2024 pm 05:18 PM

MySQL中的复合主键是指表中由多个字段组合而成的主键,用来唯一标识每条记录。与单一主键不同的是,复合主键由多个字段的值组合在一起形成。在创建表的时候,可以通过指定多个字段为主键来定义复合主键。为了演示复合主键的定义与作用,我们先创建一个名为users的表,其中包含了id、username和email这三个字段,其中id是自增主键,user

什么是Discuz?Discuz的定义和功能介绍 什么是Discuz?Discuz的定义和功能介绍 Mar 03, 2024 am 10:33 AM

《探索Discuz:定义、功能及代码示例》随着互联网的迅猛发展,社区论坛已经成为人们获取信息、交流观点的重要平台。在众多的社区论坛系统中,Discuz作为国内较为知名的一种开源论坛软件,备受广大网站开发者和管理员的青睐。那么,什么是Discuz?它又有哪些功能,能为我们的网站提供怎样的帮助呢?本文将对Discuz进行详细介绍,并附上具体的代码示例,帮助读者更

如何在 Microsoft Word 中制作自定义边框 如何在 Microsoft Word 中制作自定义边框 Nov 18, 2023 pm 11:17 PM

想让你的学校项目的头版看起来令人兴奋吗?没有什么比工作簿首页上的漂亮、优雅的边框更能使其从其他提交中脱颖而出了。但是,MicrosoftWord中的标准单行边框已经变得非常明显和无聊。因此,我们展示了在MicrosoftWord文档中创建和使用自定义边框的步骤。如何在MicrosoftWord中制作自定义边框创建自定义边框非常容易。但是,您将需要一个边界。第1步–下载自定义边框互联网上有大量的免费边界。我们已经下载了一个这样的边框。第1步–在Internet上搜索自定义边框。或者,您可以转到剪贴

See all articles