thinkphp中如何实现类似frame框架的效果?
大家讲道理
大家讲道理 2017-04-11 10:03:51
[PHP讨论组]

例如,我点击newslist时页面无刷新在右侧呈现的是新闻列表,goodslist呈现的是商品列表。
用frame做的时候可以分别做header控制器、left控制器、right控制器,用src就可以包含进来,
如果用ajax的话,怎么做呢?

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(5)
PHPz

同问,最近在做一个后台。每次点击导航栏都会整个页面刷新。

大家讲道理

内容区域直接用 <iframe id="MainIframe" name="MainIframe" scrolling="yes" src="" noresize="" height="100%" frameborder="0" width="100%"> </iframe>
点击newslist或goodslist时获取你要显示的内容的url路径。通过JS把url赋值给<iframe>里的src="xxx.html"
如 :
$("#newslist").click(function(){

 url  //要显示的内容的url
 parent.MainIframe.location = url;

})

PHP中文网

与tp无关,我个人是不太喜欢用iframe的。
用tp做后台可以用布局,或者直接include公共文件也可以。
当然,也可以考虑直接通过ajax获取数据,模板通过vue.js来实现。

但如果要用iframe的话,记忆中可以不用js实现修改iframge的src属性的方法,于是百度了一下,给个demo:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
<style>
.col{float:left;}    
</style>    
</head>
<body>
<p class="col" style="width:20%;">
    <ul>
        <li><a href="http://www.baidu.com" target="to">百度一下</a></li>
        <li><a href=""></a></li>
        <li><a href=""></a></li>
        <li><a href=""></a></li>
        <li><a href=""></a></li>
    </ul>
</p>
<p class="col" style="width:80%;">
<iframe src="" frameborder="0" name="to" style="width:100%;height:100%;"></iframe>    
</p>
    
</body>
</html>

导航里的a标签加个target="name"
iframe加个name="name"
就可以了。

怪我咯

谢邀~

用模板继承

http://document.thinkphp.cn/m...

伊谢尔伦

一样做,只是原本display模板的地方,变成返回json数据,而在前端处理这些json数据,将数据以某种形式呈现到指定的HTML容器中。

比如在内容区域你有两个p,分别为#newscontainer#goodscontainer,当点击newslist时显示#newscontainer层,隐藏#goodscontainer,点击goodslist则相反。

你可以只用ajax请求一次数据初始化后只做隐藏层的切换,或者每点击一次都请求一次,全看你的业务需求。

甚至你也可以使用相同的容器来呈现不同的内容。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号