遮罩层中的相对定位与绝对定位(Ajax)
前提:公司最近做的一个项目列表,然后点击项目,出现背景遮罩层,弹出的数据框需要异步加载数据数据,让这个数据框居中,搞了两天终于总算达到Boss满意的程度,做了半年C/S,反过来做B/S,顿时感到技术还是需要不断使用,不然就是个废,先来一步一步的分析:
点击有背景层,然后有数据框:
1.背景层和数据框都是两个已经在页面中存在的Div,响应点击事件获取参数就可以
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<script src="Scripts/jquery-1.7.1.js"> </script>
<script type="text/javascript">
$(function () {
$("#test").click(function () {
var height = $(document).height();
var width = screen.width;
var pWidth = $("#dataDialog").width();
var pHeight = $("#dataDialog").height();
var top = (height - pHeight) / ;
var left = (width - pWidth) / ;
$("#testBg").css({
"width": width,
"height": height,
"display": "block"
});
$("#dataDialog").css({
"top": top,
"left": left,
"display": "block"
}); });
});
</script>
</head>
<body>
<div id="testBg" style="background:black;position:absolute;top:0px;left:0px;z-index:1;display:none;opacity:0.8"></div>
<a href="javascript:void(0);" id="test">背景层测试</a>
<div id="dataDialog"style="background:white;z-index:5;display:none;width:400px;position:absolute;">
<table border="" style="border:1px solid black;border-collapse:collapse;">
<tr><td style="width:100px;">姓名</td><td style="width:300px;">个人简介</td></tr>
<tr><td id="name">小飞象</td><td id="resume">才毕业的菜鸟级别的人,总是犯一些未知活已知的错误,需要给出自己的判断力,加强自己的执行力,你需要不断的去把控自己,给出所有的问题一个正确的解决方式
</td></tr>
</table>
</div> </body>
</html>
背景层的样式style="background:black;position:absolute;top:0px;left:0px;z-index:1;display:none;opacity:0.8"稍微说下(如果你是前端已经很强可以忽略我),background控制背景颜色,opacity设置透明度,两个算是哥俩一块用,top,left设为0背景是整个页面,;position:absolute设为绝对,设为z-index的数值是叠加时候的顺序,小的在下面~
数据框样式style="background:white;z-index:5;display:none;width:400px;position:absolute;"其中z-index比背景层的数值大就行.
2.上面的代码数据框是居中的,没有任何问题,现在需要异步加载一下数据,填充数据后台返回JSON格式的字符串
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<script src="Scripts/jquery-1.7.1.js"> </script>
<script type="text/javascript">
$(function () {
$("#test").click(function () {
var height = $(document).height();
var width = screen.width;
$.get("/About.aspx", "type=test&Id=1", function (data) {
var str = JSON.parse(data);
$("#name").html(str.name);
$("#resume").html(str.resume);
});
var pWidth = $("#dataDialog").width();
var pHeight = $("#dataDialog").height();
var top = (height - pHeight) / ;
var left = (width - pWidth) / ;
$("#testBg").css({
"width": width,
"height": height,
"display": "block"
});
$("#dataDialog").css({
"top": top,
"left": left,
"display": "block"
}); });
});
</script>
</head>
<body>
<div id="testBg" style="background:black;position:absolute;top:0px;left:0px;z-index:1;display:none;opacity:0.8"></div>
<a href="javascript:void(0);" id="test">背景层测试</a>
<div id="dataDialog"style="background:white;z-index:5;display:none;width:400px;position:absolute;">
<table border="" style="border:1px solid black;border-collapse:collapse;">
<tr><td style="width:100px;">姓名</td><td style="width:300px;">个人简介</td></tr>
<tr><td id="name">小飞象</td><td id="resume">才毕业的菜鸟级别的人,总是犯一些未知活已知的错误,需要给出自己的判断力,加强自己的执行力,你需要不断的去把控自己,给出所有的问题一个正确的解决方式
</td></tr>
</table>
</div> </body>
</html>
死就死在这个上面,这个页面出现的数据框是无法居中的,一直搞了很久,各位有看出问题的直接可以闪人,没看出来可以自己思考下,没想出来直接看第三段~
3.柳暗花明,尘归尘,土归土,代码的顺序,看源码:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<script src="Scripts/jquery-1.7.1.js"> </script>
<script type="text/javascript">
$(function () {
$("#test").click(function () {
var height = $(document).height();
var width = screen.width;
$.get("/About.aspx", "type=test&Id=1", function (data) {
var str = JSON.parse(data);
$("#name").html(str.name);
$("#resume").html(str.resume);
var pWidth = $("#dataDialog").width();
var pHeight = $("#dataDialog").height();
var top = (height - pHeight) / ;
var left = (width - pWidth) / ;
$("#testBg").css({
"width": width,
"height": height,
"display": "block"
});
$("#dataDialog").css({
"top": top,
"left": left,
"display": "block"
}); }); });
});
</script>
</head>
<body>
<div id="testBg" style="background:black;position:absolute;top:0px;left:0px;z-index:1;display:none;opacity:0.8"></div>
<a href="javascript:void(0);" id="test">背景层测试</a>
<div id="dataDialog"style="background:white;z-index:5;display:none;width:400px;position:absolute;">
<table border="" style="border:1px solid black;border-collapse:collapse;">
<tr><td style="width:100px;">姓名</td><td style="width:300px;">个人简介</td></tr>
<tr><td id="name">小飞象</td><td id="resume">才毕业的菜鸟级别的人,总是犯一些未知活已知的错误,需要给出自己的判断力,加强自己的执行力,你需要不断的去把控自己,给出所有的问题一个正确的解决方式
</td></tr>
</table>
</div> </body>
</html>
Ajax是异步,就是Ajax程序执行的同时,Ajax程序之后的代码也在同时执行,虽然嘴上天天说着异步,只有真正用到的时候才感到异步的真不是说着玩的,想起一句老话,纸上得来终觉浅,绝知此事要躬行~
最后小插曲:
string name = "小飞象";
string resume = "才毕业的菜鸟级别的人,总是犯一些未知活已知的错误,需要给出自己的判断力,加强自己的执行力,你需要不断的去把控自己,给出所有的问题一个正确的解决方式";
StringBuilder sb = new StringBuilder();
sb.AppendFormat("{ \"name\":\"{0}\",\"resume\":\"{1}\"}", name, resume);
Console.WriteLine(sb.ToString());
Console.ReadKey();
在将字符串转成JSON格式遇到的一个问题,开始没看明白,知道这段代码错误的也可以跳过了,不知道的可以测试一下,写博客还是有好处的,第一篇技术博客,希望对需要的人有帮助,祝大家编程愉快~
By
Samll Fly Elephant
遮罩层中的相对定位与绝对定位(Ajax)的更多相关文章
- CSS中的相对定位和绝对定位
1.元素的position属性的值默认为static 就是没有定位,元素出现在正常的文档流中,,这个时候你给这个元素设置的left,right,bottom,top这些偏移属性都是没有效果的, 使用相 ...
- css 中的相对定位和绝对定位
1.默认不写position的话,值为static. 2.相对定位:相对于元素自己本身的位置偏移,虽然位置偏移,但元素本身占据的空间并不释放. 3.绝对定位:相对于离它最近的,position不为st ...
- 辛星和你彻底搞清CSS中的相对定位和绝对定位
前面我在解读CSS中也说过了关于相对定位和绝对定位的问题.无奈还是有些童鞋表示迷茫,于是另开一篇博客,来具体解读相对定位和绝对定位.希望可以以我的点点星光,让后来者少走弯路. 所谓相对定位,就是设置为 ...
- 用JavaScript实现CheckBox的全选取消反选,及遮罩层中添加内容
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- div中的相对定位与绝对定位
1.position:relative; 如果对一个元素进行相对定位,首先它将出现在它所在的位置上.然后通过设置垂直或水平位置,让这个元素“相对于”它的原始起点进行移动.(再一点,相对定位时,无论是否 ...
- css中的相对定位与绝对定位的区别
1.绝对定位 position: absolute;绝对定位:绝对定位是相对于元素最近的已定位的祖先元素(即是设置了绝对定位或者相对定位的祖先元素).如果元素没有已定位的祖先元素,那么它的位置则是相对 ...
- CSS网页中的相对定位与绝对定位
在CSS中有这样的一个指令:(position),在DreamWeaver中文版中翻译为“定位”,常用的属性有两个:relative(相对)与 absolute(绝对).有很多朋友对这条指令的用法还是 ...
- css中的相对定位与绝对定位
之前说过了CSS有三种基本的布局机制:普通流.浮动和绝对定位.除非专门指定,否则所有的框都在普通流中定位.而普通流中元素框的位置由元素在HTML中的位置决定. 相对定位 相对定位实际上被看做普通流定位 ...
- Adobe Edge Animate –地球自转动画的实现,类似flash遮罩层的效果
Adobe Edge Animate –地球自转动画的实现,类似flash遮罩层的效果 版权声明: 本文版权属于 北京联友天下科技发展有限公司. 转载的时候请注明版权和原文地址. 目前Edge的功能尚 ...
随机推荐
- csdn 音乐 怎么拦截 提交后的程序 csdn 栏目 音乐 csdn 添加 音乐
韩梦飞沙 韩亚飞 313134555@qq.com yue31313 han_meng_fei_sha csdn 栏目 音乐 csdn 添加 音乐 ======= <embed src= ...
- mybatis学习笔记(六) -- maven+spring+mybatis从零开始搭建整合详细过程(下)
继续 mybatis学习笔记(五) -- maven+spring+mybatis从零开始搭建整合详细过程(上) 五.使用监听器启动Spring容器 1.修改pom.xml文件,添加Spring-we ...
- HDU 5842 Lweb and String 水题
Lweb and String 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5842 Description Lweb has a string S ...
- Jquery中使用定时器setInterval和setTimeout
直接在ready中调用其他方法,会提示缺少对象的错误,解决方法如下: 方法1. 函数不在$(function(){....})内,setInterval第一个参数为"showAtuto&qu ...
- CefSharp 在同一窗口打开链接的方法
摘要 在winform中使用cefsharp的时候,我们在浏览网页的时候,想在同一个窗口打开链接,而不是创建新的窗口.可以通过下面的方法实现. 解决方案 CefSharp 中控制弹窗的接口是 ILif ...
- CRC8算法DELPHI源码
unit Crc8; interface Uses Classes, Windows; Function Crc_8n(p : array of BYTE; len : BYTE) : Byte; i ...
- springboot—spring aop 实现系统操作日志记录存储到数据库
原文:https://www.jianshu.com/p/d0bbdf1974bd 采用方案: 使用spring 的 aop 技术切到自定义注解上,针对不同注解标志进行参数解析,记录日志 缺点是要针对 ...
- 如何:为iOS 的方法写注释 让xcode 能够索引得到?
如何:为iOS 的方法写注释 让xcode 能够索引得到? 按照如下方法为ios项目写注释: 将会让xcode能够索引得到如下结果:
- Android Socket通信详解
一.Socket通信简介 Android与服务器的通信方式主要有两种,一是Http通信,一是Socket通信.两者的最大差异在于,http连接使用的是“请求—响应方式”,即在请求时建立连接通道,当客 ...
- Java/JSP获得客户端网卡MAC地址的三种方法解析
java/jsp获得客户端(IE)网卡MAC地址的方法大概有三种. 1.通过命令方式,在客户端执行Ipconfig 等等.(java/jsp) 2.通过ActiveX的方法.(jsp) 3.通过向13 ...