- 浏览: 217804 次
- 性别:
- 来自: 广西
-
文章分类
最新评论
-
hello_player:
问下,我本机有个html5的应用,我手机连在同一个无线路由器上 ...
android模拟器与pc,模拟器与模拟之间用socket进行通信和获得模拟器ip地址程序 -
h396463735:
看到那个引用信息了,但是没看懂,谢谢!
处理idea9 The JVM could not be started. 错误 -
weiweichen1985:
唉 jrebel.jar提示过期了
编译class不用重启tomcat -
w203654:
不错,我转了,以前对这个不懂搞了三天都没弄好啊,谢谢你了,支 ...
struts2的action跳转问题 -
fangfangzh:
可是我的没有设置"Maximum version&q ...
用exe4j打jar包错误
近来项目中为了使用Ajax技术,需要一个友好的遮盖层效果的等待画面,本人比较懒,没有使用一些ajax框架,自己动手写了一个遮盖层。
其中遇到几个比较难搞定的问题:
1、select这个优先级比较高的页面控件
2、兼容Mozilla
3、消息框的自动居中(起码看起来比较舒服)
从网络上搜索了一堆解决办法,比较适用的有:
1、使用比select优先级更高的遮住他(还有一种是将它隐藏,不喜欢),我只用Iframe,效果不错!
2、兼容Mozilla主要是支持Mozilla的css样式(网上搜)
3、从网上摘抄了一段css代码(呵呵)
这样主要的问题解决了。
我的所有样式都写在了js中,这样免去了每个页面的导入css文件和创建占位的div。样例如下:
页面代码
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
//注意下面这句是针对Firefox的,如果不写要报错(也能运行)
<meta http-equiv="Content-Type" content="application/vnd.mozilla.maybe.feed; charset=utf-8" />
<title></title>
<link href="02_.css" type="text/css" rel="stylesheet">
<script type="text/javascript" src="tool.js"></script>
<script type="text/javascript" src="02_.js"></script>
</head>
<body>
<input type="button" value="显示" onclick="new MesDiv().dostart('标题内容','提示内容',true)">
<select>
<option>select也能被盖住</option>
</select><br>
</body>
</html>
js代码
var bad,mes;
function MesDiv() {
this.isIE = document.all ? true : false;
this.init = function(title, content, bl) {
if (!bad || !mes) {
bad = this.baddingDiv();
mes = this.mesDiv(title, content, bl);
document.body.appendChild(bad);
document.body.appendChild(mes);
}
}
//底层,作为全屏的铺垫
this.baddingDiv = function() {
var d = createObject("div");
var ifr = createObject("iframe");
d.style.cssText = "position:absolute;width:100%;height:100%;" +
"background:#999999;left:0px;right:0px;top:0px;" +
"bottom:0px;-moz-opacity:0;filter:alpha(opacity = 0);" +
"z-index: 99;";
ifr.style.cssText = "position:absolute;width:100%;height:100%;" +
"background:#CCCCCC;left:0px;right:0px;top:0px;" +
"bottom:0px;-moz-opacity:0;" +
"z-index: 96;";
ifr.frameBorder = 0;
d.appendChild(ifr);
return d;
}
/*
* 显示消息的层
* title 标题内容
* content 提示内容
* bl是否有关闭事件及按钮,true为有
*/
this.mesDiv = function(title, content, bl) {
//消息框的外层
var d1 = createObject("div");
d1.style.cssText = "position: absolute;margin:-150px 0 0 -200px;z-index:100;" +
"top:50%;left:50%; width:400px;background-color: #FFFFFF;" +
"-moz-opacity:0.5;filter:alpha(opacity = 50);";
//标题层
var d2 = createObject("div");
d2.style.cssText = "height:20px;padding-top:8px;background-color: #DDDDDD;";
var d2_div1 = createObject("div");
d2_div1.style.cssText = "float:left;width:290px;padding-left:20px;overflow:hidden;word-break:keep-all; text-overflow:ellipsis";
d2_div1.appendChild(createText(title || "aaaaa"));
d2.appendChild(d2_div1);
if (bl || false) {
var d2_div2 = createObject("div");
d2_div2.style.cssText = "float:right;width:80px;text-align:right;padding-right:10px;";
var d2_div2_span = createObject("span");
d2_div2_span.onclick = function() {
new MesDiv().showBackground(bad, 0,false);
new MesDiv().showBackground(mes, 50,false);
}
d2_div2_span.innerHTML = "×"
d2_div2.appendChild(d2_div2_span);
d2.appendChild(d2_div2);
}
//内容层
var d3 = createObject("div");
d3.style.cssText = "border-top: #AAAAAA; border-top-style:solid;" +
"border-top-width:1px;height:100px;text-align:center;";
var d3_div1 = createObject("div");
d3_div1.style.cssText = "padding-top:20px;";
var d3_div1_img = createObject("img");
d3_div1_img.src = "warn.png";
d3_div1_img.align = "absmiddle";
d3_div1.appendChild(d3_div1_img);
d3_div1.appendChild(createText(content || "bbbbbb"));
d3.appendChild(d3_div1);
if (!bl || false) {
var d3_div2 = createObject("div");
d3_div2.style.cssText = "padding-top:10px;";
var d3_div2_img = createObject("img");
d3_div2_img.src = "load.gif";
d3_div2.appendChild(d3_div2_img);
d3.appendChild(d3_div2);
}
d1.appendChild(d2);
d1.appendChild(d3);
return d1;
}
this.dostart = function(title, content, bl) {
this.init(title, content, bl);
bad.style.display = "block";
mes.style.display = "block";
this.showBackground(bad, 60,true);
this.showBackground(mes, 100,true);
}
this.doend = function() {
this.init();
this.showBackground(bad, 0,false);
this.showBackground(mes, 50,false);
}
//让背景渐渐变暗
this.showBackground = function(obj, endInt,bl)
{
if (this.isIE)
{
if(bl){
obj.filters.alpha.opacity += 2;
if (obj.filters.alpha.opacity < endInt){
setTimeout(function(){new MesDiv().showBackground(obj, endInt,bl)}, 5);
}
}else{
obj.filters.alpha.opacity -= 2;
if (obj.filters.alpha.opacity > endInt){
setTimeout(function(){new MesDiv().showBackground(obj, endInt,bl)}, 5);
}else{
obj.style.display = "none";
}
}
}
else {
if(bl){
var al = parseFloat(obj.style.opacity);
al += 0.02;
obj.style.opacity = al;
if (al < (endInt / 100)){
setTimeout(function(){new MesDiv().showBackground(obj, endInt,bl)}, 5);
}
}else{
var al = parseFloat(obj.style.opacity);
al -= 0.02;
obj.style.opacity = al;
if (al > (endInt / 100)){
setTimeout(function(){new MesDiv().showBackground(obj, endInt,bl)}, 5);
}else{
obj.style.display = "none";
}
}
}
}
}
其中有一些没能按照设想的那样写,主要还是javascript的水平不行,不过效果出来了!!希望以后可以写出更好的!!呵呵!!
发表评论
-
获得浏览器、屏幕宽高
2010-05-25 16:40 1012网页可见区域宽: document.body.clientWi ... -
js加载页面
2010-01-13 15:47 792不多说,看附件例子 -
css 控制打印
2010-01-12 16:32 872代码很简单,运行看一下!注意红字部分 <!DOCTYP ... -
页面打印脚本
2009-12-29 13:45 9291、脚本部分 <SCRIPT la ... -
iframe自适应高度
2009-12-26 10:54 980转载http://www.cnblogs.com/maxie/ ... -
表单提交的一个注意问题
2009-12-26 09:09 718有时候需要用javascript提交表单,这个时候我们 ... -
给iframe中添加内容
2009-12-25 16:06 7022在项目中使用fckeditor,一开始定义了自己的模板 ... -
使用fckeditor的一个问题
2009-12-16 15:08 836fckeditor很好很强大,现在的项目使用了fcke ... -
fckeditor我的开发操作记录
2009-12-14 16:09 1459判断页面是否加载完毕js,并初始化fckeditor的内容 ... -
JAVASCRIPT常用事件、对象获取技巧
2009-12-02 14:07 821JAVASCRIPT常用事件、对象获取技巧 ... -
javascript倒计时
2009-01-13 17:54 1244将下面的代码加入到<body>中,既可以看到效果了 ... -
模式窗口调用父窗口的类方法
2008-12-08 11:37 1052a.html <input type=button id ... -
动态创建table,并可以根据条件进行适当行的删除
2008-12-02 14:11 949在使用DOM动态生成table的时候我通常的写法如下: ... -
采用DOM模型时创建一个Select节点后,要删除option项的解决方法
2008-12-01 17:59 1082当创建了一个select节点以后,在每次刷新的时候不需要删除次 ... -
在javascript中使用dom操作时的一些兼容问题
2008-12-01 11:56 9261、清空节点元素下的内容 -1、第一种方法是通过获取子 ... -
javascript闭包-2
2008-11-26 10:53 1446这是从javascript王者归来里摘抄的例子,用来说明一下闭 ... -
关于闭包
2008-11-24 17:54 940//定义了一个闭包函数 ( function(){ ... -
javascript map函数
2008-11-18 13:46 1284//自定义的Map 对象functio ... -
使用FSO的简单例子
2008-11-15 13:28 892var fso, f,file; var ... -
javascript中的FSO对象
2008-11-15 12:29 1046AtEndOfLine 属性 如果文件指针恰好定位在 Te ...
相关推荐
从给定文件的信息来看,本文档主要围绕2021年全国防灾减灾日的心得体会进行总结,强调了防灾减灾的重要性,并通过具体的案例和个人经历来阐述如何提高防灾减灾意识和能力。 ### 重要知识点 #### 1. 防灾减灾日的...
在复习过程中,他创新性地采取遮盖中文含义,用英文回忆单词含义的方式,以发现自己的知识盲点,并集中精力突破这些盲点。这种方法有效避免了无效的机械记忆,让学习变得更加高效。此外,作者主张专注于记忆大纲词汇...
- **呼吸防护**:用毛巾、餐巾布等遮盖口鼻,避免吸入有毒气体。 - **利用逃生通道**:优先选择疏散楼梯、消防电梯等安全出口。 - **应急绳索使用**:在较低楼层的情况下,可以使用绳索、床单等制作简易逃生工具。 -...
2. 满足全家需求:亲子装不仅满足了孩子们对童趣的追求,也让父母有机会回味童年,展示自己的时尚品味。同时,孩子们穿上与父母相似的服装,会有一种被平等对待的自豪感。 3. 不失个性的搭配:专业的亲子装品牌会在...
在实训的最后阶段,学员们需要总结在实践中遇到的问题,并分享自己在称重过程中的经验与心得。同时,还要指出操作中需要注意的事项,包括确保布料在测量前的平整性,切样时力度的均匀性,以及称量时避免对天平造成...
随后,学生在另一个新图层中绘制了一个矩形,将其设置为遮罩层,并确保红色文字在最后一帧被完全遮盖,从而建立起遮罩层和被遮罩层的关系。 为了进一步探索遮罩层动画的潜力,学生还尝试了更复杂的动画制作。他们...
- **商品笔记**:撰写详细的商品介绍和使用心得,增加产品的可信度。 - **品牌店播**:通过直播销售的方式与消费者建立直接联系。 - **KOL直播**:利用网络红人的影响力推广产品。 - **搜索承接**:确保品牌信息能够...