PHP网站使用JavaScript和Iframe简单实现部分刷新效果

2023-10-31

        本文主要是记录自己寒假作业PHP网站实现加载界面的文章,运行效果如下图所示。主要记录php+html+Apache开发网站的3个功能:(方便以后阅读和其他人学习)
        1.如何实现简单页面布局
        2.使用jsp如何实现隐藏与显示效果
        3.通过iframe实现局部动态更新页面内容


一.运行效果
        运行apache访问本地页面http://localhost:8080/CourseStudy/index.php,效果如下所示:(lamp/wamp配置php网站)

        可以发现该界面布局主要由3部分组成,顶部head、中间左边菜单栏和中间右边显示界面,点击左边菜单栏会通过JavaScript实现隐藏缩放功能;同时点击不同菜单栏可以在右边显示不同界面。如下图所示:

二.实现方法介绍
1.界面布局
        界面布局主要采用的是include加载php文件实现,采用div和table实现布局,其中index.php文件代码如下:
<?php
include("head.php");
?>
<br />
<!-- 布局中部 -->
<div id="middle">
<!-- 布局中部右边 否则总是显示在左边之下 why? -->	
<div id="index_right">
<iframe height="100%" width="100%" border="0" frameborder="0" 
	src="main_right.php" name="rightFrame" id="rightFrame" title="rightFrame">
</iframe>
</div>
<!-- 布局中部左边 -->
<div id="index_left">
<?php
	include('main_left.php');
?>
</div>
</div>
        主要是通过head.php布局该界面的头部,main_right.php实现加载界面的中间右边部分,main_left.php加载界面的中间左边菜单栏,而<iframe>后面实现局部加载会讲述。


        其中head.php代码如下图所示,就是Html+CSS简单的布局:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>《分布式系统》精品课程学习</title>
<link  href="css/mycss.css" type="text/css" rel="stylesheet"/>
</head>
<body>
<div id="main">
<TABLE cellSpacing=0 cellPadding=0 width="100%" 
		background="images/header_bg.gif" border=0>
	<!--头部图片-->
  <TR height=80>
    <TD width=260>
    	<IMG height=80 src="images/logo.gif" width=260>
    </TD>
    <TD style="FONT-SIZE: 12px; FONT-WEIGHT: bold; COLOR: #000;
    	 PADDING-TOP: 20px; PADDING-RIGHT: 20px" align=right>
    	 您还未登录! |
      <A style="COLOR: #000" href="" 
      	target=main>登录</A>|
      <A style="COLOR: #000" href="" 
      	target=main>注册</A>|
      <A style="COLOR: #000" href=""
      	οnclick="if (confirm('确定要退出吗?')) return true; else return false;" 
      	target=main>退出系统</A> 
    </TD>
</TABLE>
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
  <TR bgColor=#1c5db6 height=4>
    <TD></TD></TR>
</TABLE>

2.JavaScript实现隐藏缩放功能

        main_left.php中采用table布局并调用该SCRIPT函数实现该功能,其中核心代码如下所示:
<SCRIPT language=javascript>
	function expand(el)
	{
		childObj = document.getElementById("child" + el);
		if (childObj.style.display == 'none')
		{
			childObj.style.display = 'block';
		}
		else
		{
			childObj.style.display = 'none';
		}
		return;
	}
</SCRIPT>
       其中第一个菜单调用代码如下,通过οnclick=expend(1)调用,而且子菜单DISPLAY初值为NONE,则调用该函数后初值为block显示。
<!-- 第一选项 -->
<TABLE cellSpacing=0 cellPadding=0 width=150 border=0>  
  <TR height=30>
    <TD style="PADDING-LEFT: 20px; FONT-SIZE: 15px" background=images/menu_bt.jpg><A 
      class=menuParent οnclick=expand(1) 
      href="javascript:void(0);">课程首页</A></TD></TR>
  <TR height=4>
    <TD></TD></TR>
</TABLE>
<TABLE id=child1 style="DISPLAY: none" cellSpacing=0 cellPadding=0 
width=150 border=0>
  <TR height=20>
    <TD align=middle width=30><IMG height=9 
      src="images/menu_icon.gif" width=9></TD>
    <TD><A href="main_right_yk1.php" 
    	target="rightFrame">首页介绍</A></TD></TR>
  <TR height=4>
    <TD colSpan=2></TD></TR>
</TABLE>
<!-- 第二选项 -->

3.Iframe实现局部加载效果
        通过iframe创建包含另外一个文档的内联框架(即行内框架)并实现局部加载功能,也就是点击左边不同的菜单右边显示不同的内容而整个界面布局并没有发生改变。
        在index.php布局中首先采用<iframe></frame>布局,同时src中引用加载的php。代码如下:
<!-- 布局中部右边 -->	
<div id="index_right">
<iframe height="100%" width="100%" border="0" frameborder="0" 
	src="main_right.php" name="rightFrame" id="rightFrame" title="rightFrame">
</iframe>
</div>
        上面代码中其中src=""中加入要嵌入的页面,name=""要嵌入页面中traget。
        然后在子菜单中添加:
        <A href="main_right_yk2-2.php" target="rightFrame">教师团队</A>
        href中添加要加载的php界面,target中添加框架中的name。
       
其中第二栏“课程概括”代码如下:(可参考:百度文库)

<TABLE id=child2 style="DISPLAY: none" cellSpacing=0 cellPadding=0 
width=150 border=0>
  <TR height=20>
    <TD align=middle width=30><IMG height=9 
      src="images/menu_icon.gif" width=9></TD>
    <TD><A href="main_right_yk2-1.php" class=menuChild 
    	target="rightFrame">课程简介</A></TD></TR>
  <TR height=20>
    <TD align=middle width=30><IMG height=9 
      src="images/menu_icon.gif" width=9></TD>
    <TD><A href="main_right_yk2-2.php" 
    	target="rightFrame">教师团队</A></TD></TR>
  <TR height=20>
    <TD align=middle width=30><IMG height=9 
      src="images/menu_icon.gif" width=9></TD>
    <TD><A href="main_right_yk2-3.php" 
    	target="rightFrame">教学条件</A></TD></TR>
  <TR height=4>
    <TD colSpan=2></TD></TR>
</TABLE>
        最后讲讲接下来需要解决的问题:
        1.iframe布局后,刷新总是重新加载index.php界面,而当前显示的内容会消失;
        2.php如何通过Post+Session进行登陆及表单访问MySQL数据库;
        3.如何实现网页index.php显示不同内容时index.php/xxxx加载些内容.
        希望文章对你有所帮助,后天就要过年了!提前祝自己和大家新年快了。
        下面地址是该部分界面代码:http://pan.baidu.com/s/1740Cu
        (BY:Eastmount 2015-2-16 清晨6点  http://blog.csdn.net/eastmount/)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP网站使用JavaScript和Iframe简单实现部分刷新效果 的相关文章

  • 只保留 A-Z 0-9 并使用 javascript 从字符串中删除其他字符

    我正在尝试验证字符串以使它们成为有效的网址 我只需要保留 A Z 0 9 并使用以下命令从字符串中删除其他字符javascript or jquery 例如 贝儿餐厅 我需要将其转换为 百丽餐厅 所以字符被删除 只保留 A Z a z 0
  • jquery 中可点击 div 中的按钮

    我有整个 div 您可以单击它来切换该 div 的主要部分 问题是我在该 div 中也有可点击的按钮 当我点击它时 它会执行它应该做的事情 但同时也会切换整个 div 我怎样才能禁用它 Use event stopPropagation 单
  • 为什么 asort 适用于多维数组?

    抱歉 如果这是一个非常基本的问题 我无意中发现asort http php net manual en function asort php似乎适用于多维数组 示例 PHP animals array 1 gt array name gt
  • 将文本字段限制为仅包含数字的最佳方法?

    I m using the following Javascript to restrict a text field on my website to only accept numerical input and no other le
  • Angular 2 将字符串转换为 md5 哈希

    我找到了ts md5 https www npmjs com package ts md5包 但在示例中它有一个hashStr方法 但现在不行了 类型上不存在属性 hashStr Md5 使用该错误后 该错误会记录在我的控制台中 我怎样才能
  • 如何在打字稿中使用外部js

    我通过 Typescript 代码生成 Angular JS 代码 在一种情况下 我需要将外部 JS 文件添加到我的打字稿文件中 并且需要访问 js 文件中的类 我像这样添加js文件
  • Lumen:无法打开流:.../vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:107 中的权限被拒绝

    My OS is ubuntu 16 04 and I am running Lumen 5 5 When I try to run the app in the browser I get an error 500 我在 var log
  • 将客户分配到 magento 的多个客户组

    您好 我想将多个组分配给特定客户 例如 Rajat 客户 属于 批发 零售商 电力 实际上我在上面看到了同样的话题每个客户有多个客户组 https stackoverflow com questions 6153011 multiple c
  • 在循环中调用 setTimeout 未按预期工作

    下面的 JavaScript 应该 在我看来 以 0 5 秒的间隔播放一系列音符 但它会将它们全部作为一个同时的和弦来演奏 知道如何修复它吗 function playRecording if notes length gt 0 for v
  • 如何将项目插入到特定索引处的空数组中?

    我想将一个项目插入到空数组的指定索引中 我看到有 Array prototype splice 方法 但是 如果我在空数组上使用 splice 它只会添加项目来结束数组 如下所示 var a a splice 3 0 item 3 cons
  • 如何使用 Javascript OAuth 库不暴露您的密钥?

    看着Twitter OAuth 库 https dev twitter com docs twitter libraries 我看到了这个注释 将 JavaScript 与 OAuth 结合使用时要小心 不要暴露你的钥匙 然后 看着jsOA
  • WordPress - 类别和子类别的嵌套列表

    我正在尝试显示带有嵌套子类别的 WordPress 类别列表 到目前为止 我只能获取父类别列表或不包括父类别的子类别列表 但我无法将两者连接在一起 这是我想要创建的结果 Parent Category 子类别 子类别 Parent Cate
  • PHP date() 和 strtotime() 返回错误的月份 31 日

    我在用着date and strtotime 函数在下拉列表中显示接下来的 3 个月 PHP代码 echo date m Y strtotime 0 months echo date m Y strtotime 1 months echo
  • 如何给URL添加变量?

    我正在尝试从网站收集数据 我有一个 Excel 文件 其中包含该网站的所有不同扩展名 F i www example com example2 我有一个脚本可以成功从网站中提取 HTML 但现在我想为所有扩展自动执行此操作 然而 当我说 s
  • 如何将数据推送到嵌套对象

    如何将另一个元素推入variables来自以下对象的属性 var request name Name id 3 rules name Rule name tags tagId 1 variables variable var1 matchT
  • highchart堆积柱每个类别的总数据

    我想获取每个类别的总数据 这point stackTotal只给出活动数据的总数 从我粘贴的代码示例中 我想知道每种水果的总消耗量 因此 即使我单击右上角图例上的乔的名字 这使得堆叠图表上的所有乔信息都处于非活动状态 我仍然可以知道约翰 简
  • Array.of 与“[ ]”。何时使用 Array.of 而不是“[ ]”?

    当我发现时我正在读一些书Array of https developer mozilla org en docs Web JavaScript Reference Global Objects Array of 根据 MDN Array o
  • javascript:完全删除top.location.hash?

    如果我的地址栏中已经有一个哈希值 例如domain com whatever 我打电话 top location hash wathever 被转换为domain com 没有任何内容 是否可以完全删除哈希值 所以没有 left 因为如果我
  • 从后面的代码添加外部 css 文件

    我有一个 CSS 文件 例如 SomeStyle css 我是否可以将此样式表文档从其代码隐藏应用到 aspx 页面 您可以将文字控件添加到标头控件中 Page Header Controls Add new System Web UI L
  • Google Drive 服务帐户上传的位置

    我正在尝试使用服务帐户将文件上传到我的 Google 云端硬盘 当我部署此代码时 我不希望用户给予授权 我希望他们上传到我的帐户 我通过 PHP 使用它 下面是我到目前为止的情况 这段代码是基于官方文档给出的例子 当我运行 php 脚本时

随机推荐

  • react+umi+antdesign+typescript从零构建后台系统

    确保电脑有node 查看方式 node v 2 确保电脑有umi 查看方式 umi v 没有umi的安装方式 npm install g umi 3 执行以下代码 npm create umi 文件名 或者 yarn create umi
  • 不要在问了!工作六年总结的Java面试题与经验

    前言 最近看到很多小伙伴都在因为面试烦恼 所以小编总结了一些面试经验 希望能帮助到大家 一 面试到底在问些什么东西 首先你要知道 面试官的提问和你简历上写的内容是紧密联系的 所以你简历上写的技能一定要会 一般面试包括下面几方面知识类型 Ja
  • 解决[Vue warn]: Error in v-on handler: “TypeError: Cannot read property ‘validate‘ of undefined“

    在做前后端登录时出现下列错误 解决如下 this refs loginForm validate 中的与ref loginForm 名字要相同 或者要定义这个ref 没有定义或者名称不一致都会出现上述错误
  • 你的数字藏品可能真的只是一张图片

    国外 NFT 市场的火爆也同样引燃了国内的市场 像腾讯 阿里等诸多大厂纷纷入局 同时 大量中小企业也在这些头部企业的带领下聚集而来 出于政策风险隐患的防范要求 国内的区块链并不是国外的公链 而是由一个或多个机构独立部署的联盟链 同时也将 N
  • CMD查看当前文件路径下的所有文件名

    介绍 我们知道Linux系统下查看当前文件路径下的所有文件名 可以用ls或ll来查看 那么CMD中怎么查看当前路径下的所有文件呢 方案 使用 dir 命令即可 效果如下
  • Go语言编程思想3——错误处理和资源管理

    Go语言编程思想3 错误处理和资源管理 资源管理 及时关闭文件 及时释放资源 如果打开的文件还未关闭就因为出错而在中间跳出 就无法保证有效的资源管理 因此在这里两者一起进行考虑 一 defer调用 调用在函数结束时发生 在return pa
  • echarts 调整x类目轴axisLabel间距

    场景 产品认为x轴的刻度太密集 需要稀一点 调研 关于这个需求 想到的有 xAxis interval 指定的是所有横坐标的间隔 需要自行计算间隔多少 xAxis splitNumber 对类目轴不生效 xAxis axisLabel fo
  • 【java 程序设计实训】学生请假管理系统

    学生请假管理系统 运行结果 学生请假管理系统需求分析 GUI 编程 事件处理 数据库编程 部分代码 项目结构 实体类 Admin java LeaveData java UserLogin java MainWindow java leav
  • 嵌入式linux 第二章:软件下载

    嵌入式linux 目录 第一章 vi 使用 第二章 软件下载 第三章 软件下载 嵌入式linux 一 软件下载模式 1 deb 1 1 下载 1 2 删除 2 apt get 2 1 下载 2 2 删除 2 3 清除缓存 查询软件包信息 一
  • 每日一题:订单编号

    订单编号 题目 Daimayuan Online Judge 一开始想用二分答案的 但是后来发现不行 二分答案每找到一个值 就要去掉它的左半边或右半边 但是这里不能去 错误代码 include
  • C++(CMake)视觉OpenCV-Raspberry Pi图像处理-3D图像重建-面部界标检测-卷积神经网络车牌自动识别-深度神经网络面部检测和识别

    演示如何为桌面和小型嵌入式系统 如 Raspberry Pi 编写一些图像处理过滤器 使用 SfM 模块将场景重建为稀疏点云 包括相机位姿 以及如何使用多视图立体获取密集点云 使用人脸模块进行人脸界标 也称为人脸标记 检测的过程 图像分割和
  • SpringBoot系统整理

    写在前面 很早之前看了狂神的springboot快速入门 后来发现还是有很多开发知识点需要补充学习 乘着假期 将基础篇 运维实用篇 开发实用篇 原理篇一口气学习巩固 再次记录下学习笔记 系列笔记在springboot中哦 目录 1 快速上手
  • 【基于协同过滤算法的电影推荐】

    目录 1 协同过滤算法 1 1 CF与 User Item 推荐算法区别 1 2 UserCF 1 3 ItemCF 2 评价指标 3 基于userCF与itemCF电影推荐 3 1 MovieLens数据集 3 2 userCF代码实现
  • Qt 5.15 安装步骤

    Qt 5 15 安装步骤 简单介绍 1 利用 MaintenanceTool exe 卸载Qt 2 卸载完成后重新安装 配置Visual Studio 2019 简单介绍 之前一直使用Qt 5 14 0版本 但是由于打包问题以及工作需要 要
  • python下timer定时器常用的两种实现方法

    前言 大家早好 午好 晚好吖 欢迎光临本文章 话不多说 直接开搞 如果有什么疑惑 资料需要的可以点击文章末尾名片领取源码 方法一 使用线程中现成的 这种一般比较常用 特别是在线程中的使用方法 下面是一个例子能够很清楚的说明它的具体使用方法
  • 解决ROS系统 rosdep update超时问题的新方法

    由于近期国内Github Raw的可用IP越来越少 通过修改hosts文件解决rosdep update超时问题的方法已经不太好用 本文通过修改rosdep源码中下载资源的函数来解决这一问题 网站https ghproxy com 支持gi
  • 从键盘输入一个字符串与一个指定字符,将字符串中出现的指定字符全部删除...

    include stdio h include conio h include string h void prochar char str char c char p for p str p 0 p if p c str p str 0
  • 基于深度学习的图像超分辨率重建技术的研究

    基于深度学习的图像超分辨率重建技术的研究 图像的超分辨率重建技术指的是将给定的低分辨率图像通过特定的算法恢复成相应的高分辨率图像 随着人工智能的不断发展 超分辨率重建技术在视频图像压缩传输 医学成像 遥感成像 视频感知与监控等领域得到了广泛
  • c++顺序表类模板及其可视化界面

    文章目录 概要 整体架构流程 技术名词解释 实现代码 小结 概要 本文包括利用c 编写的顺序表的类模板以及其可视化界面 整体架构流程 在sqList h头文件中定义一个SqList类模板 并在类模板中声明构造函数 析构函数和要实现的成员函数
  • PHP网站使用JavaScript和Iframe简单实现部分刷新效果

    本文主要是记录自己寒假作业PHP网站实现加载界面的文章 运行效果如下图所示 主要记录php html Apache开发网站的3个功能 方便以后阅读和其他人学习 1 如何实现简单页面布局 2 使用jsp如何实现隐藏与显示效果 3 通过ifra