jQuery实现单击按钮遮罩弹出对话框(仿天猫的删除对话框)_jquery

我们在天猫进行购物的时候,经常会碰到单击删除按钮或者登陆按钮后,弹出对话框问你是否删除或者弹出一个登陆对话框,并且我们也是可以看到我们之前页面的信息,就是点击不了,只有对对话框进行操作后才有相应的变化。截图如下(以天猫为例) 
 
如图所示,上面就是天猫的效果图,其实这就是通过jQuery实现的,并且实现的过程也不是很不复杂,那么现在就让我们来看看实现的过程吧。

首先是页面的布局部分:delete.html

复制代码 代码如下:

<!DOCTYPE html>
<html>
<head>
<title>遮罩弹出窗口</title>

<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">

<link rel="stylesheet" type="text/css" href="../css/delete.css">
<script type="text/javascript" src="../js/jquery-1.10.2.js"></script>
<script type="text/javascript" src="../js/delete.js"></script>

</head>

<body>
<div class="divShow">
<input type="checkbox" id="chexkBox1"> <a href="#">这是一条可以删除的记录</a>
<input id="button1" type="button" value="删除" class="btn">

</div>

<div class="mask"></div>
<div class="dialog">
<div class="title">
<img alt="点击可以关闭" src="../images/delete.gif" width="30px" height="30px;">
删除时提示
</div>
<div class="content">
<img alt="" src="../images/delete.gif" width="60px" height="60px">
<span>你真的要删除这条记录吗?</span>

</div>
<div class="bottom">
<input type="button" id="ok" value="确定" class="btn">
<input type="button" id="noOk" value="取消" class="btn">

</div>
</div>

</body>
</html>

需要做出说明的是,我只添加了一条记录,其实可以模拟多条记录的删除。这里我们有三层div结构,其中mask和dialog使我们通过jquery进行触发的,接下来我们讲下css的布局,先上代码:delete.html

复制代码 代码如下:

@CHARSET "UTF-8";
*{
margin: 0px;
padding: 0px;

}
.divShow{
line-height: 32px;
height: 32px;
background-color: #eee;
width: 280px;
padding-left: 10px;
}

.dialog{
width: 360px;
border: 1px #666 solid;
position: absolute;
display: none;
z-index: 101;//保证该层在最上面显示
}

.dialog .title{
background:#fbaf15;
padding: 10px;
color: #fff;
font-weight: bold;

}

.dialog .title img{
float:right;
}

.dialog .content{

background: #fff;
padding: 25px;
height: 60px;
}

.dialog .content img{
float: left;
}
.dialog .content span{
float: left;
padding: 10px;

}

.dialog .bottom{

text-align: right;
padding: 10 10 10 0;
background: #eee;
}

.mask{

width: 100%;
height: 100%;
background: #000;
position: absolute;
top: 0px;
left: 0px;
display: none;
z-index: 100;

}
.btn{

border: #666 1px solid;
width: 65px;

}

在CSS文件中,我需要着重说明的是z-index的使用,z-index表示的层的堆叠顺序,如果数值越高,表示越在上层显示,mask的z-index是100,dialog的z-index是101,数值足够大的原因就是保证绝对在顶层显示,通过数值的调增可以控制div层的显示。

接下来就是最为主要的js代码,当然在使用jquery时,我们要导入jquery包:<script type="text/javascript" src="../js/jquery-1.10.2.js"></script>

delete.js

复制代码 代码如下:

$(function(){

//绑定删除按钮的触发事件
$("#button1").click(function(){

$(".mask").css("opacity","0.3").show();
showDialog();
$(".dialog").show();
});

/*
* 根据当前页面于滚动条的位置,设置提示对话框的TOP和left
*/
function showDialog(){
var objw=$(window);//当前窗口
var objc=$(".dialog");//当前对话框
var brsw=objw.width();
var brsh=objw.height();
var sclL=objw.scrollLeft();
var sclT=objw.scrollTop();
var curw=objc.width();
var curh=objc.height();
//计算对话框居中时的左边距
var left=sclL+(brsw -curw)/2;
var top=sclT+(brsh-curh)/2;

//设置对话框居中
objc.css({"left":left,"top":top});

}

//当页面窗口大小改变时触发的事件
$(window).resize(function(){

if(!$(".dialog").is(":visible")){
return;
}
showDialog();
});

//注册关闭图片单击事件
$(".title img").click(function(){

$(".dialog").hide();
$(".mask").hide();

});
//取消按钮事件
$("#noOk").click(function(){
$(".dialog").hide();
$(".mask").hide();
});

//确定按钮事假
$("#ok").click(function(){

$(".dialog").hide();
$(".mask").hide();

if($("input:checked").length !=0){
//注意过滤器选择器中间不能存在空格$("input :checked")这样是错误的

$(".divShow").remove();//删除某条数据
}

});

});<span style="white-space:pre">

需要说明的是主要代买就是showDialog()的用于动态的确定对话框的显示位置。

时间: 2024-11-05 23:30:25

jQuery实现单击按钮遮罩弹出对话框(仿天猫的删除对话框)_jquery的相关文章

js制作带有遮罩弹出层实现登录注册表单特效代码分享_jquery

本文实例讲述了js制作带有遮罩弹出层实现登录注册表单代码特效代码.分享给大家供大家参考.具体如下: 运行效果图:                     ----------------------查看效果   源码下载----------------------- 小提示:浏览器中如果不能正常运行,可以尝试切换浏览模式. jquery制作的带有遮罩弹出层实现登录注册等表单的特效源码,是一段实现了点击后在原始页面上弹出想用页面的代码.  为大家分享的js制作带有遮罩弹出层实现登录注册表单代码特效

jQuery+css+html实现页面遮罩弹出框_jquery

页面遮罩弹出框是最常见的一种情况,今天用jQuery实现页面遮罩弹出框,主要用的技术有JQuery,css和html, html代码如下: 复制代码 代码如下: <div id="main"><a href="javascript:showBg();">点击这里查看效果</a> <div id="fullbg"></div> <div id="dialog"&g

jQuery实现时尚漂亮的弹出式对话框实例_jquery

本文实例讲述了jQuery实现时尚漂亮的弹出式对话框.分享给大家供大家参考.具体如下: 这是一款十分简洁漂亮的HTML5弹出对话框效果,基于jQuery来实现,引入了jquery1.6.2库. 本效果描述:用鼠标点击一下右上角的小图标,会弹出一个层对话框,里面可以提交留言.评论之类的. 运行效果截图如下: 具体代码如下: <!DOCTYPE html> <head> <meta http-equiv="Content-Type" content="

jquery 点击一个按钮隐藏弹出form中的两个按钮问题

问题描述 jquery 点击一个按钮隐藏弹出form中的两个按钮问题 我点击一个main 主页的按钮 需要隐藏弹出form中的两个按钮 怎么操作 点击查看时 吧弹出的这个form中的这两个按钮隐藏掉 解决方案 $("#id").hide(); 是不是这个意思 解决方案二: 弹出form,window.open还是层模拟的?层模拟的form放入iframe里面没有?没有关系的无法控制 iframe和父页,window.open打开页面之间的引用 解决方案三: 我用的是miniui 中的p

编写ASP.net,我想单击一个按钮就弹出一个目录树,选择一个目录后,将该目录的完全路径显示在一个编辑框中,请问怎样做?

问题描述 编写ASP.net,我想单击一个按钮就弹出一个目录树,选择一个目录后,将该目录的完全路径显示在一个编辑框中,请问怎样做?目录树即为本机的目录急求解答! 解决方案 解决方案二:这个不能得到客户端主机目录但是服务器的主机目录可以同一个页面放入buttontreeviewtextbox控件page_load中设置treeview的visible=false并且绑定目录treeview的selectednodechanged事件下:treeview的visible=truetextbox.te

Bootstrap Modal遮罩弹出层代码分享_javascript技巧

下面这段代码并非是Bootstrap的遮罩,只是简单版的遮罩效果,Bootstrap那个太啰嗦了.如果你钟情Bootstrap的那个遮罩,来看看这篇文章"完全版:Bootstrap弹出层遮罩". <div class="theme-popover"> <div class="theme-poptit"> <a href="javascript:void(0);" title="关闭&qu

JavaScript点击按钮后弹出透明浮动层的方法

  这篇文章主要介绍了JavaScript点击按钮后弹出透明浮动层的方法,可实现点击按钮弹出居中的透明浮动层的效果,涉及javascript操作鼠标事件及页面样式的相关技巧,需要的朋友可以参考下: 这里实现点击后页面变灰色,并用JS弹出一个居中的浮动层提示窗口,这个窗口是透明的,可以设置透明度,网上已经有很多类似的JavaScript代码,你可以借鉴一下. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

j2ee-点击一个窗口的按钮,弹出另一个按钮,但是点击弹出来窗口的按钮,点不动没反应。

问题描述 点击一个窗口的按钮,弹出另一个按钮,但是点击弹出来窗口的按钮,点不动没反应. 如图所示,点击客户图纸按钮弹出一个搜索对话框,但是点击搜索按钮点击不了. 解决方案 按钮点击没反应 解决方案二: 是不是事件没触发,还是后台代码出错了 解决方案三: 没有错误信息吗?有没有绑定事件啊

jQuery实现的AJAX简单弹出层效果代码_jquery

本文实例讲述了jQuery实现的AJAX简单弹出层效果.分享给大家供大家参考,具体如下: 运行效果截图如下: 具体代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/