首先是jsp页面,主要是一个按钮+2个DIV层,其中一个层是用来全窗口遮罩,另一个层是浮动出来显示数据,如下:
<%@ page contentType="text/html;charset=UTF-8" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>产品管理</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
[color=red]
<script src="..../jquery.js"/>
<script src="..../jquery.fn.customize.js/><!--自己写的jquery方法,等下呈上-->
[/color]
<style type="text/css">
.finttest{
font-size:10px;
}
</style>
<script type="text/javascript">
functionUrl = "<%=functionUrl %>";
functionUrlParam = "<%=functionUrlParam %>";
$(document).ready(function(){
$("#floatdiv").floatdiv("fullwindow","datawindow",0.9,0.4,function(){
$.ajax({
type: "post",//使用get方法访问后台
dataType: "javascript",//返回文本格式的数据
url: "<%=context%>/product/addproduct.jsp",//要访问的后台地址
data: "",//要发送的数据
complete :function(){},//AJAX请求完成时显示提示
error:function(msg){alert('加载错误');},
success: function(msg){//msg为返回的数据,在这里做数据绑定
$("#datawindow").html(msg);
}
});
});
});
</script>
</head>
<body topmargin="0" leftmargin="0">
<div id='fullwindow'></div>
<div id='datawindow'></div>
<button id='floatdiv'>浮动</button>
</body>
</html>
接着是jqeury自定义方法,如下:
/**
* Author: caojianwei
* Date: 2010-07-08 15:07
* UseSample: $("#ceshibutton1").floatdiv("fullceshi","ceshi",0.9,0.75,function(){});
* Page Must have: <div id="fullceshi"></div><div id="ceshi"></div>
**/
//自定义浮动层,关闭层双击弹出层即可
jQuery.fn.floatdiv = function(fullDivID, //占满窗口的透明层
divID, //弹出层的ID
divWidthScale, //弹出层宽比例 0~1
divHeightScale, //弹出层高比例 0~1
callfn){ //弹出层完成后需要执行的函数
var pagewidth = $(window).width();
var pageheight = $(window).height();
//弹出窗口的宽高不能超过父窗口的宽高
var widthScale = pagewidth*divWidthScale;
var heightScale = pageheight*divHeightScale;
$("#"+divID).width(widthScale>pagewidth?pagewidth:widthScale);
$("#"+divID).height(heightScale>pageheight?pageheight:heightScale);
//设置弹出窗口的宽高,及弹出的位置
var divwidth = $("#"+divID).width();
var divheight = $("#"+divID).height();
var divleft = (pagewidth-divwidth)/2;
var divtop = (pageheight-divheight)/2;
//全屏遮罩层设置
function oprationFullDiv(){
//先使用层遮罩住全部窗口
$("#"+fullDivID).css("position","absolute");
$("#"+fullDivID).css("left",0);
$("#"+fullDivID).css("top",0);
$("#"+fullDivID).css("width",pagewidth);
$("#"+fullDivID).css("height",pageheight);
$("#"+fullDivID).css("background-color","#EAEAEA");
$("#"+fullDivID).show();
//遮罩层完毕后显示数据窗口
$("#"+fullDivID).fadeTo("slow",0.6,function(){
windowDiv();
});
}
//窗口遮罩层设置
function windowDiv(){
$("#"+divID).css("position","absolute");
$("#"+divID).css("left",divleft);
$("#"+divID).css("top",divtop);
$("#"+divID).css("width",divwidth);
$("#"+divID).css("height",divheight);
$("#"+divID).css("background-color","#FFFFFF");
$("#"+divID).css("overflow","auto");
$("#"+divID).show();
//数据窗口显示完成,加载数据
$("#"+divID).fadeTo("slow",1,function(){
if(callfn!=null){
var CallParams = {};
CallParams.success = callfn;
$.ajax(CallParams);
}
});
}
//加载
$(document).ready(function(){
//双击浮动窗口 关闭浮动窗口
$("#"+divID).dblclick(function(){
$("#"+divID).fadeOut("slow",function(){
$("#"+divID).hide("fast",function(){
$("#"+fullDivID).hide();
});
});
});
//单击浮动窗口外的地方则将浮动窗口关闭
$("#"+fullDivID).click(function(){
$("#"+divID).fadeOut("slow",function(){
$("#"+divID).hide("fast",function(){
$("#"+fullDivID).hide();
});
});
});
});
//为传入符合id的元素绑定click事件
$(this).bind('click',function(){
oprationFullDiv();
});
alert('1');
};
至于为什么要写2个div,主要是由于在使用javascript脚本动态增加一个div时无法控制这个div不被外层的div包含进去,这样这个内层的div总是被外层的div覆盖着,暂时没想到好的方法.
分享到:
相关推荐
非常强大的Jquery浮动层插件,值得推荐
jQuery精美浮动层效果
jQuery插件,就是沿着一个角度弹来弹去的,代码写得不怎么样,不过效果达到了,调用很简单的,里面有调用例子。ie6/ie7/ie8/firefox下都能用
jQuery浮动层点击图标按钮关闭或展开 jQuery浮动层点击图标按钮关闭或展开
Jquery左右浮动层 类似于点击收藏到
jquery浮动固定层导航描点上下滚动的浮动定位层
jQuery制作顶部浮动层显示隐藏点击图标按钮浮动展开
jQuery浮动层带阴影的图片展示特效
简单的jquery浮动层
jquery浮动层特效或弹出层特效loading页面加载过程,异步加载loading特效。提示用户loading页面加载效果。
jquery浮动对联图片广告制作一个侧面浮动图片广告特效,类似滚屏效果的图片广告。jQuery下载。
JQuery弹出层,JS浮动层,弹出层特效,JQuery浮动层,JQuery登录浮动层,JQuery登录弹出层 JQuery弹出层效果,可用于弹出登录框,也可用于Ajax应用等
花生米AJAX-UI系列之:基于JQUERY的浮动层(右键)列表菜单0.2改进版 改版本是“使用JQUERY 自创的自定义右键菜单插件 ”的重大改进,原始版本不再使用! 可以对表格,列表,或者单个DOM容器进行右键绑定 菜单项的文字...
基于jQuery精美浮动层效果 基于jQuery精美浮动层效果
弹出登录框的JQuery弹出浮动层,浮动层可以是另外的页面。无刷新弹层
jQuery浮动标签插件floatlabels 是一款文字输入标签浮动跟随的jQuery floatlabels插件。
jQuery CSS图片浮动层效果
jQuery浮动图片广告代码简介: jQuery浮动图片广告代码是一款页面上漂浮图片广告代码。
用jQuery实现div跟着鼠标走 鼠标移动时,层也跟着鼠标的移动而移动