`
endlessjava
  • 浏览: 6792 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

程序开发日志

阅读更多

2009-04-16
增加spring,将spring和struts2结合。
2009-04-17
一、增加AJAX loading以及AJAX mask效果
目的:
 1、AJAX操作提示功能,提示用户操作成功。
 2、避免用户重复操作,比如查询的时候用遮罩层将查询按钮遮住,这样用户在一次查询的过程中不能再点击按钮
步骤:

1、到http://www.ajaxload.info/#preview这个网站上自己定制一个loading图片拷贝到项目下的css目录下。

2、页面端增加
 <div id="loadimg"></div>
 <div id="mask"></div>

3、css文件里增加:
#loadimg {
 display:none;
 position:absolute;
 z-index:4;
 width:126px;
 height:22px;
 text-align:center;
 color:#FFFFFF;
 font-size:12px;
 line-height:22px;
 background:url("ajax-loader.gif");
 left:449;
 top:250px;
}

#mask{
 background-color: black;
 display:none;
 z-index:3;
 position:absolute;
 left:0px;
 top:0px;
 filter:Alpha(Opacity=30);
 /* IE */
 -moz-opacity:0.4;
 /* Moz + FF */
 opacity: 0.4;
}

4、在js文件里写如下jquery代码(前提是页面端已经引入jquery库):
$(document).ready(function (){
 $('#send_ajax').click(function (){ //直接把onclick事件写在了JS中,而不需要混在XHTML中了
  var params=$('input').serialize(); //序列化表单的值,与prototype中的form.serialize()相同
  $("#loadimg").ajaxStart(function(){
   /*下面三段是遮罩的代码*/
   var bH=$("body").height();
   var bW=$("body").width();
   $("#mask").css({width:bW,height:bH,display:"block"});
   $("#loadimg").css("display","block");
   $("#loadimg").html("正在查询请稍候...");
  });
         
  $.ajax({
   url :'report.action',  //后台处理程序
   type:'post',    //数据发送方式
   dataType:'json',   //接受数据格式
   data:params,   //要传递的数据
   //查询结束后隐藏loading动画
   complete:function(){
    $("#loadimg").html("查询完成!");
    //延时隐藏loading图片动画,让客户能看到查询成功提示
    setTimeout('$("#loadimg").css("display","none")',500);
    /*下面一段是遮罩的代码*/
    setTimeout('$("#mask").css("display","none")',500);
   },
   success:update_page  //回传函数(这里是函数名)
  });
 });
});
function update_page (json) { //回传函数实体,参数为XMLhttpRequest.responseText
      $('#content').html(json.result);
}
注:
 1、除了jquery的核心库以外没有用到任何jquery插件
 jquery插件thickbox可以实现更炫的效果,但针对本项目适用性不强,
 网址:http://jquery.com/demo/thickbox/ 作为今后研究的参考。
 2、另外一些类似效果的实现参考:
  a)、loading-Mask:
  http://www.bubbling-library.com/eng/api/docs/widgets/loading-mask
  b)、lightbox(主要用于图片显示的):
  http://www.huddletogether.com/projects/lightbox/

3
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics