文档章节

局部动态加载页面

MissGu
 MissGu
发布于 2015/04/01 10:59
字数 729
阅读 3948
收藏 8

    不知道各位小伙伴在做前端页面的时候,会不会跟我有一样的经历,整个系统大体上是需要一个整体框架的,只有局部需要不时地刷新。话不多说,以下就是我要实现的效果图。

显然,我用红色边框框起的的地方是整个项目页面都需要有的,而黄色的两个边框的,有些页面采用了同样的样式,有些改变上面黄色边框,有些改变下面黄色边框。

于是,我就想到了用Ajax动态请求其他页面中的内容。这样及不会让index页面的代码内容过多,也可以让几个样式相同的板块统一样式,请求同一页面,省事。

首先呢,我在主页面留了两个空白的div,也就是那两个黄色边框所在的位置。

<div id="navBoxContent">
    <div id="boxButton">    

    </div>
    <div id="mainContent">

    </div>
</div>

上面黄色边框的内容呢,放在另外一个right1.html文件中。以下是right1.html中的内容。

<ul style="margin-left: 30px">
   <li><div class="but" id="add"><img src="images/index/add.png" alt="添加"/></div></li>
   <li><div class="but" id="edit"><img src="images/index/edit.png" alt="修改"/></div></li>
   <li><div class="but" id="del" onclick="del()"><img src="images/index/del.png" alt="删除"/></div></li>
</ul>
<div id="search"><input type="text" placeholder="请输入关键字"><img src="images/index/search.png" alt="搜索"/></div>

下面黄色边框的内容呢,放在table.html中。表格的样式采用了easyui中的datagrid。

<table id="dg"  style="width:100%;height:100%;" data-options="
                                    rownumbers:false,
                                    singleSelect:true,
                                    autoRowHeight:false,
                                    pagination:true,
                                    resizeHandle:'right'">
    <thead>
    <tr>
    </tr>
    </thead>
</table>

对以上right1.html和table.html中的css样式控制呢,可以直接放在index中的统一css样式文件中。

接下来就是js的动态请求了。

$(function(){
    //企业信息 用户管理
   $("#companyInformation").click(function(){
        $.ajax({//按钮栏显示
            url:"right1.html",
            dataType:"html",
            type:"get",
            success:function(data){
                $("#boxButton").html(data);
                $("#boxButton").css({"height":"50px","background":"url('images/index/search_bg.png')"})
            }
        });
       $.ajax({//表格显示
           url:"table.html",
           dataType:"html",
           type:"get",
           success:function(data){
               $("#mainContent").html(data);
               $("#mainContent").css({"height":"509px"});
               $.ajax({
                   url:"datagrid_data.json",
                   type:"post",
                   dataType:"json",
                   success:function(data){
                       $("#dg").datagrid({
                           columns:[data.title]    //动态取标题
                       });
                       $("#dg").datagrid("loadData",data.rows);  //动态取数据

                       $("#dg").datagrid('getPager').pagination({//分页栏下方文字显示
                           pageSize: 15,//每页显示的记录条数,默认为10
                           pageList:[15,30,45,60],//每页显示几条记录
                           beforePageText: '第',//页数文本框前显示的汉字
                           afterPageText: '页    共 {pages} 页',
                           displayMsg: '当前显示 {from} - {to} 条记录    共 {total} 条记录',
                           onBeforeRefresh:function(){
                               $(this).pagination('loading');//正在加载数据中...
                               $(this).pagination('loaded'); //数据加载完毕
                           }
                       })
                   }
               });
           }
       });
    });


});

当然,我前面也说了,我很多栏目的页面可能会是请求同一个页面。那么怎么给两个按钮添加同一个事件呢。在这里,我采用了这样的一种方式:

$("#companyInformation").add($("#userManage")).click(function(){.....});

也就是js的add方法,这样,当点击id名为companyInformation和userManage的menu时都会加载这个表格页面。

© 著作权归作者所有

共有 人打赏支持
MissGu
粉丝 3
博文 5
码字总数 2899
作品 0
北碚
私信 提问
MVC3缓存之三:MVC3中的局部缓存(Partial Page)

在之前的文章MVC3缓存之二:页面缓存中的局部动态中,没有注意到MVC3的版本中对输出缓存进行了修改,园友的评论中提及了此问题,所以又去抽时间看了下局部缓存的解决方案。 最后发现在发布的...

达摩院法师
2011/04/11
0
0
C语言中未初始化变量的值

我们在刚学C编程的时候经常碰到“烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫”,这是为什么呢? 主函数外面(全局)和里面(局部)个定义一个int类型数值。然后没有赋值,直...

ChuckleLiu
2016/04/12
104
0
thinkphp 中的volist标签在ajax操作中的特殊性

背景 在一个Thinkphp的复杂页面(包含volist)中实现volist标签显示jquery查询结果的返回 知识点 使用ajax的目的是不刷新整个页面的前提下实现部分表格数据的刷新,但是注意Thinkphp框架中的...

analanxingde
2017/11/01
0
0
页面缓存与局部动态缓存的组合 COutputCache+renderDynamic

最近在用Yii框架开发项目中遇到一个缓存问题,先前只是考虑到把内容页面整体缓存了下来,最后发现由于有用户状态的切换,所以有时候其他页面用户状态改变了,但是这个页面由于没有过期状态还是...

威哥
2013/09/26
0
4
浅谈移动端页面无刷新跳转问题的解决方案

浅谈移动端页面无刷新跳转问题的解决方案 2017-12-22 祈澈姑娘 最近开发微信公众号,用的框架是 一般的 UI,但是涉及到多页面之间的相互跳转的问题,降低了浏览器的性能,用户体验特别不好,...

祈澈姑娘
2017/12/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

聊聊storm的AggregateProcessor的execute及finishBatch方法

序 本文主要研究一下storm的AggregateProcessor的execute及finishBatch方法 实例 TridentTopology topology = new TridentTopology(); topology.newStream("spout1", spout......

go4it
57分钟前
3
0
大数据教程(7.5)hadoop中内置rpc框架的使用教程

博主上一篇博客分享了hadoop客户端java API的使用,本章节带领小伙伴们一起来体验下hadoop的内置rpc框架。首先,由于hadoop的内置rpc框架的设计目的是为了内部的组件提供rpc访问的功能,并不...

em_aaron
今天
3
0
CentOS7+git+github创建Python开发环境

1.准备CentOS7 (1)下载VMware Workstation https://pan.baidu.com/s/1miFU8mk (2)下载CentOS7镜像 https://mirrors.aliyun.com/centos/ (3)安装CentOS7系统 http://blog.51cto.com/fengyuns......

枫叶云
昨天
1
0
利用ibeetl 实现selectpicker 的三级联动

1. js 直接写在html页面上面,ibeetl 就可以动态地利用后台传上来的model List ,不需要每次点击都要ajax请求后台 2. 使用selectpicker 的时候,除了对selecct option的动态处理后,还需要 $("#...

donald121
昨天
1
0
Android SELinux avc dennied权限问题解决方法

1. 概述 SELinux是Google从android 5.0开始,强制引入的一套非常严格的权限管理机制,主要用于增强系统的安全性。 然而,在开发中,我们经常会遇到由于SELinux造成的各种权限不足,即使拥有“...

TreasureWe
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部