弹层,iframe页面
前台页面:
<img src="chb/老玩家 好礼送.jpg" border="0" width="202" height="254" onclick="DL()" style="cursor: pointer" />
JS:
function DL() {
dl = new Dialog({ type: 'iframe', value: 'chb/NewService.aspx' }, { id: 'Dialog1', showTitle: false });
dl.show();
}
function DLClose() {
dl.close();
}
dialog.css :
.dialog iframe
{
height: %;
width: %;
} .dialog img
{
height: %;
width: %;
}
dialog.js :
/**
* Dialog
*
* @author caixw <http://www.caixw.com>
* @copyright Copyright (C) 2010, http://www.caixw.com
* @license FreeBSD license
*/ /**
* jQuery的Dialog插件。
*
* @param object content
* @param object options 选项。
* @return
*/
function Dialog(content, options)
{
var defaults = { // 默认值。
title:'标题', // 标题文本,若不想显示title请通过CSS设置其display为none
showTitle:true, // 是否显示标题栏。
closeText:'[关闭]', // 关闭按钮文字,若不想显示关闭按钮请通过CSS设置其display为none
draggable:true, // 是否移动
modal:true, // 是否是模态对话框
center:true, // 是否居中。
fixed:true, // 是否跟随页面滚动。
time:, // 自动关闭时间,为0表示不会自动关闭。
id:false // 对话框的id,若为false,则由系统自动产生一个唯一id。
};
var options = $.extend(defaults, options);
options.id = options.id ? options.id : 'dialog-' + Dialog.__count; // 唯一ID
var overlayId = options.id + '-overlay'; // 遮罩层ID
var timeId = null; // 自动关闭计时器
var isShow = false;
var isIe = $.browser.msie;
var isIe6 = $.browser.msie && ('6.0' == $.browser.version); /* 对话框的布局及标题内容。*/
var barHtml = !options.showTitle ? '' :
'<div class="bar"><span class="title">' + options.title + '</span><a class="close">' + options.closeText + '</a></div>';
var dialog = $('<div id="' + options.id + '" class="dialog">'+barHtml+'<div class="content"></div></div>').hide();
$('body').append(dialog); /**
* 重置对话框的位置。
*
* 主要是在需要居中的时候,每次加载完内容,都要重新定位
*
* @return void
*/
var resetPos = function()
{
/* 是否需要居中定位,必需在已经知道了dialog元素大小的情况下,才能正确居中,也就是要先设置dialog的内容。 */
if(options.center)
{
var left = ($(window).width() - dialog.width()) / ;
var top = ($(window).height() - dialog.height()) / ;
if(!isIe6 && options.fixed)
{ dialog.css({top:top,left:left}); }
else
{ dialog.css({top:top+$(document).scrollTop(),left:left+$(document).scrollLeft()}); }
}
} /**
* 初始化位置及一些事件函数。
*
* 其中的this表示Dialog对象而不是init函数。
*/
var init = function()
{
/* 是否需要初始化背景遮罩层 */
if(options.modal)
{
$('body').append('<div id="' + overlayId + '" class="dialog-overlay"></div>');
$('#' + overlayId).css({'left':, 'top':,
/*'width':$(document).width(),*/
'width':'100%',
/* 'height':'100%',*/
'height':$(document).height(),
'z-index':++Dialog.__zindex,
'position':'absolute'})
.hide();
} dialog.css({'z-index':++Dialog.__zindex, 'position':options.fixed ? 'fixed' : 'absolute'}); /* IE6 兼容fixed代码 */
if(isIe6 && options.fixed)
{
dialog.css('position','absolute');
resetPos();
var top = parseInt(dialog.css('top')) - $(document).scrollTop();
var left = parseInt(dialog.css('left')) - $(document).scrollLeft();
$(window).scroll(function(){
dialog.css({'top':$(document).scrollTop() + top,'left':$(document).scrollLeft() + left});
});
} /* 以下代码处理框体是否可以移动 */
var mouse={x:,y:};
function moveDialog(event)
{
var e = window.event || event;
var top = parseInt(dialog.css('top')) + (e.clientY - mouse.y);
var left = parseInt(dialog.css('left')) + (e.clientX - mouse.x);
dialog.css({top:top,left:left});
mouse.x = e.clientX;
mouse.y = e.clientY;
};
dialog.find('.bar').mousedown(function(event){
if(!options.draggable){ return; } var e = window.event || event;
mouse.x = e.clientX;
mouse.y = e.clientY;
$(document).bind('mousemove',moveDialog);
});
$(document).mouseup(function(event){
$(document).unbind('mousemove', moveDialog);
}); /* 绑定一些相关事件。 */
dialog.find('.close').bind('click', this.close);
dialog.bind('mousedown', function(){ dialog.css('z-index', ++Dialog.__zindex); }); // 自动关闭
if( != options.time){ timeId = setTimeout(this.close, options.time); }
} /**
* 设置对话框的内容。
*
* @param string c 可以是HTML文本。
* @return void
*/
this.setContent = function(c)
{
var div = dialog.find('.content');
if('object' == typeof(c))
{
switch(c.type.toLowerCase())
{
case 'id': // 将ID的内容复制过来,原来的还在。
div.html($('#' + c.value).html());
break;
case 'img':
div.html('加载中...');
$('<img alt="" />').load(function(){div.empty().append($(this));resetPos();})
.attr('src',c.value);
break;
case 'url':
div.html('加载中...');
$.ajax({url:c.value,
success:function(html){div.html(html);resetPos();},
error:function(xml,textStatus,error){div.html('出错啦')}
});
break;
case 'iframe':
div.append($('<iframe border="0" marginwidth="0" scrolling="no" frameborder="no" allowtransparency="true" marginheight="0" src="' + c.value + '" />'));
break;
case 'text':
default:
div.html(c.value);
break;
}
}
else
{ div.html(c); }
} /**
* 显示对话框
*/
this.show = function()
{
if(undefined != options.beforeShow && !options.beforeShow())
{ return; } /**
* 获得某一元素的透明度。IE从滤境中获得。
*
* @return float
*/
var getOpacity = function(id)
{
if(!isIe)
{ return $('#' + id).css('opacity'); } var el = document.getElementById(id);
return (undefined != el
&& undefined != el.filters
&& undefined != el.filters.alpha
&& undefined != el.filters.alpha.opacity)
? el.filters.alpha.opacity / : ;
}
/* 是否显示背景遮罩层 */
if(options.modal)
{ $('#' + overlayId).fadeTo('slow', getOpacity(overlayId)); }
dialog.fadeTo('slow', getOpacity(options.id), function(){
if(undefined != options.afterShow){ options.afterShow(); }
isShow = true;
});
// 自动关闭
if( != options.time){ timeId = setTimeout(this.close, options.time); } resetPos();
} /**
* 隐藏对话框。但并不取消窗口内容。
*/
this.hide = function()
{
if(!isShow){ return; } if(undefined != options.beforeHide && !options.beforeHide())
{ return; } dialog.fadeOut('slow',function(){
if(undefined != options.afterHide){ options.afterHide(); }
});
if(options.modal)
{ $('#' + overlayId).fadeOut('slow'); } isShow = false;
} /**
* 关闭对话框
*
* @return void
*/
this.close = function()
{
if(undefined != options.beforeClose && !options.beforeClose())
{ return; } dialog.fadeOut('slow', function(){
$(this).remove();
isShow = false;
if(undefined != options.afterClose){ options.afterClose(); }
});
if(options.modal)
{ $('#'+overlayId).fadeOut('slow', function(){$(this).remove();}); }
clearTimeout(timeId);
} init.call(this);
this.setContent(content); Dialog.__count++;
Dialog.__zindex++;
}
Dialog.__zindex = ;
Dialog.__count = ;
Dialog.version = '1.0 beta'; function dialog(content, options)
{
var dlg = new Dialog(content, options);
dlg.show();
return dlg;
}
弹层上的关闭按钮 :
<img src="kl1.png" onclick="CC()" border="0" style="cursor: pointer" />
JS :
<script type="text/javascript" language="javascript">
function CC() {
parent.window.DLClose();
} function gb() {
alert("您已经登记成功!");
CC();
} function dgg() {
alert("您已经登记过了!");
CC();
}
</script>
后台代码 :
Page.ClientScript.RegisterStartupScript(this.GetType(), "alert", "<script> gb();</script>");
弹层,iframe页面的更多相关文章
- IOS 微信返回按钮事件控制弹层关闭还是返回上一页
在微信公共号内绑定域名后或微信内打开第三方链接跳转非单页面网站时,经常会有弹层Modal的需求,此时如果用户习惯性点击微信自带的返回“<”按钮,就会跳转回上一页或退出网站,而为了避免这种不好的误 ...
- 借用layer让弹层不限制在iframe内部
使用方法: 1 除了layer的success,end,cancel回掉函数以外其它的layer参数都可以使用. 2 使用前在layer的js后边把该js引入(可以命名为layerExtend). 3 ...
- 使用layui iframe弹层,各弹层之前的传值问题
最近做一个后台管理系统,用到的layui,主要是使用它的弹层,但是各个弹层之前的传值经常容易搞晕,写个个博客记录一下,方便自己,也方便别人, 首先我的页面已经嵌套了好几个iframe页面了,嵌套了三个 ...
- 关于弹出层(iframe)时刷新页面的js
[javascript] view plaincopyprint? iframe弹出子页面刷新父页面iframe parent.location.reload(); [javascript] view ...
- 移动端和PC端弹出遮罩层后,页面禁止滚动的解决方法及探究
PC端解决方案 pc端的解决思路就是在弹出遮罩层的时候取消已经存在的滚动条,达到无法滚动的效果. 也就是说给body添加overflow:hidden属性即可,IE6.7下不会生效,需要给html增加 ...
- IE6利用iframe遮挡 弹层 select
ie6的老bug了,select老是会挡住 弹层里的内容. 解决办法:(box需要设置高度) <div class="box"> <!--[if IE 6]> ...
- 弹出iframe内嵌页面元素到父页面并全屏化
(注册博客好久了,一直没舍得添砖加瓦,主要是每次想写点东西的时候,随便搜一搜发现都比我总结的都要好,甚感尴尬,但是总是要开始的,所以这就是我的第一篇博客,也绝不会是最后一篇,废话不多说,直接入正题) ...
- 弹层组件-layer
layer是Layui的一个弹层组建,功能强大,总之我很喜欢,下面介绍这个组件的基本用法. 首先如果只需要使用layer而不想使用Layui可以单独下载layer组件包,页面引入jquery1.8以上 ...
- jquery layer弹窗弹层插件 小巧强大
/* 先去官网下载最新的js http://sentsin.com/jquery/layer/ ①引用jquery ②引用layer.min.js */ 触发弹层的事件可自由绑定,如: $('#id ...
随机推荐
- 初学git(一):创建本地“仓库”
初学git(一):创建本地“仓库” 作为一个初学者,我是跟着廖学峰老师的官方博客学习,这里只是做个笔记,哈哈,关于git的历史.和其他版本控制的对比啥的,我就不说了.另外,我这里用的是Mac OS X ...
- python python 入门学习之网页数据爬虫搜狐汽车数据库
自己从事的是汽车行业,所以首先要做的第一个程序是抓取搜狐汽车的销量数据库(http://db.auto.sohu.com/cxdata/): 数据库提供了07年至今的汽车月销量,每个车型对应一个xml ...
- Linux网络栈下两层实现
http://www.cnblogs.com/zmkeil/archive/2013/04/18/3029339.html 1.1简介 VLAN是网络栈的一个附加功能,且位于下两层.首先来学习Linu ...
- Html命名锚
这个有什么用 案例 参考资料 这个有什么用 嘛, 不管写博客,还是公司的wiki,一般开头都会有个目录什么的, 这时候命名描就有用了, 所谓的描就是书签. 案例 比如这篇博客的目录,首先建立一个无序列 ...
- 三目运算符是不是在bug中躺了枪_折腾了一整天
Hand_result = !String.IsNullOrEmpty(e.ReadString) ? e.ReadString : GetHandCodeReadStringFromResultXm ...
- openfire+strophe
其实是关于strophe的使用的,因为openfire那部分我并没有安装,项目过程中是直接访问的已经部署好的服务器了. 关于使用strophe+ openfire完成 即时通讯,做到及时的信息交互,主 ...
- 即时通讯 TCP UDP
TCP协议与UDP协议的区别 首先咱们弄清楚,TCP协议和UCP协议与TCP/IP协议的联系,很多人犯糊涂了,一直都是说TCP/IP协议与UDP协议的区别,我觉得这是没有从本质上弄清楚网络通信! ...
- MYSQL使用mysqldump导出某个表的部分数据
命令格式如下: mysqldump -u用户名 -p密码 数据库名 表名 --where="筛选条件" > 导出文件路径 例子: 从meteo数据库的sdata表中导出sen ...
- 设置secureCRT的鼠标右键为弹出文本操作菜单功能
options菜单下的 global options 页面的 terminal 中的 mouse 子菜单对 paste on right button 的选项取消勾选即可.
- select值的获取及修改
例子: <select id="a" name="a"> <options value="1">a</opti ...