用javascript面向对象的方式制作弹出层

说
【菜科解读】
由于本人以前是.net程序员,所以即使现在在做前端,也习惯于用面向对象的方式编写js脚本,我想如果你以前也是或者现在还是名第三代程序员的话,应该对此并不陌生。
说到js的面向对象,就不得不提到prototype这个js内置属性了(注意:这里的prototype可不是prototype.js),它的作用就是可以动态的向一个对象(object)添加某种属性。
我现在要做的就是尽可能的让代码达到公用,像继承啦之类的。
好了,这些就不多说了,对prototype不了解的可以搜索下相关内容。
今天要做的是点击一个html元素让其弹出一个友好的对话框来,首先要明确两点,一点是我可能会大量的用到这种方式,甚至不希望出现系统的alert或confirm,第二点就是弹出的内容尽量的可以多种化,甚至可以自定义。
明确这两点后,我们就可以写js代码了,都是些很初级的东西,如果你要鄙视的话就尽情的鄙视我吧!^.^
首先定义一个简单的对象:function objDIV() {this.bgdiv ;this.infodiv ;} 首先,我们希望弹出一个遮罩层,我给它命名openBackDiv();
function openBackDiv(txbdiv) {txbdiv.bgdiv = document.createElement("div");txbdiv.bgdiv.setAttribute("id", "overDiv");txbdiv.bgdiv.innerHTML = "";
} 再者,把它添加到刚刚定义的对象的prototype里去(openBG()):
objDIV.prototype.openBG = function() {openBackDiv(this);document.body.appendChild(this.bgdiv);this.bgdiv.style.display = "block";this.bgdiv.style.width = document.documentElement.clientWidth + "px";this.bgdiv.style.height = document.documentElement.scrollHeight + "px";}
再就是添加弹出信息层的方法,和上面一样做就行了。
所以才说这个是很基础的东西,好像确实没啥好说的,直接上代码吧!
这是一个正在加载的弹出层,有点粗糙. function openLoadDiv(txbdiv) {txbdiv.infodiv = document.createElement("div");txbdiv.infodiv.setAttribute("id", "div_info");txbdiv.infodiv.innerHTML = "
请稍等,正在处理中...
";document.body.appendChild(txbdiv.infodiv);txbdiv.infodiv.style.width = "550px";txbdiv.infodiv.style.height = "270px";txbdiv.infodiv.style.fontSize = "14px";txbdiv.infodiv.style.position = "absolute";txbdiv.infodiv.style.background = "#fff";txbdiv.infodiv.style.zIndex = "9999";centerobject();//居中的方法}objDIV.prototype.openLoading = function() { this.openBG(); openLoadDiv(this); }
做完这些后一个简单的弹出加载层就完成了.是不是有点成就感了,那么接着完成其他的工作吧!既然都弹出了,总得在某个时刻把它们移掉吧,下面就是移除这些层的方法。
objDIV.prototype.removeBG = function() {if (this.bgdiv || document.getElementById("overDiv")) {if (this.bgdiv) {document.body.removeChild(this.bgdiv);} else {document.body.removeChild(document.getElementById("overDiv"));}}}objDIV.prototype.removeInfo = function() {this.removeBG();if (this.infodiv) {document.body.removeChild(this.infodiv);} else {document.body.removeChild(document.getElementById("div_info"));}}
如果想弹出不同层信息的话,就可以添加不同的prototype属性。
用,javascript,面向,对象,的,方式,制作,弹出,清朝后宫女子,为什么脖子上都戴着一条白色领子?是用来做什么的
清宫剧中服装是华丽精致,随着位分的高低,衣服的颜色与材质也大不相同,但是相同的一点是脖子处都戴着一条白色的领子,这个东西叫做龙华,上到皇后、嫔妃,下到宫女,都有佩戴,那么它到底有什么用意呢? 首先便是以此来区分等级。
清朝的服装样子很多,随着主人身份等级的不同而变化,见了什么人该行什么样的礼,谁向谁行礼,这些都是不能出错的。
但是后宫这么多人,也不是都互相认识或者熟知,这个时候龙华就起了大作用了。
宫女们虽然也佩戴,但是因为她们的等级最低,她们的龙华也最简单,就是一条白色领子。
而一旦成为嫔妃,就可以在上面绣一些花花草草,以此来为自己增色。
但是嫔妃中也是有等级的,地位越高,龙华上面的花草越稀有珍贵。
不过花样和图案是次要,更重要的龙华的材质和制作工艺,得宠的妃子和位分高的人会好一些,龙华的长度和颜色也不一样,皇后作为后宫之主,在做工和质量上面都是最精致的,上面的花样也很多。
当然了,最好的还是的,毕竟位分不一样,除了质量顶级之外,妃子们上面是花花草草,太后的就是闪闪的“寿”字。
除了区分等级,还有一个最简单直接的原因,那便是美观和保暖。
当时清朝入关后,衣服都没有领子,这样做也就是为了好看。
春秋两季时遇到刮风天气,这领子便能很好的保暖,是不是难以相信? 不过随着清朝的发展,到了后期,龙华的使用率也大大降低,虽然没有消失,但是更多的嫔妃都选择了其他的方式,比如说衣服上增加了衣领,到了冬天干脆有了毛毛领,不过从这里也能看出,在后宫生存有多艰难,一条“围脖”讲究都如此之多。
不过这也恰好让我们又一次见识到了古人的智慧,一条简简单单的领子,都能赋予它“尊贵”的名字,还有其深层次的用意,真是不简单。
随机文章马谡死前大喊「8个字」!诸葛亮听后痛哭流涕霍金为什么没有获得诺贝尔奖,诺贝尔奖看不起搞理论研究的揭秘古代生化武器箭毒木,土著用剧毒树汁箭头打得英军丢盔弃甲什么人可以葬在龙脉上,十世善人/紫薇命格才能葬在龙脉上(出皇帝)奥丁和宙斯什么关系,奥丁和宙斯谁厉害/北欧神王奥丁更胜一筹
鲁宗道和帝王说自己去酒楼喝酒,居然被重用了
不过有时候皇帝也是非常通情达理的,比如曾经找一个小官问事情,然而这个小官却因为去酒楼喝酒,很久之后才进宫。
结果宋真宗非但没有生气,反而重用了这个人。
这究竟是怎么回事呢? 被宋真宗重用的这位大臣就是鲁宗道。
鲁宗道出身于穷苦人家,后来多年苦读之后终于高中,刚开始的时候,鲁宗道当了一个,后来因为性格正直,因此就改任军事判官。
被立为太子之后,宋真宗想要为太子找一个德行兼备的人做他的谕德官,教授太子道德。
最后在大臣的举荐之下,由鲁宗道担任了这一职位。
有一天,宋真宗突然想起来鲁宗道,想要问他一些事情,于是连忙让使者去召他。
结果宫中的使者到鲁宗中之后,鲁宗道并不在家。
使者等了好久之后,鲁宗道才终于从酒楼回来。
这位使者比较善良,怕鲁宗道被皇帝责备,于是就让鲁宗道想一个借口推脱过去,免受责罚。
但是鲁宗道却说,直接实话实说就行了。
使者非常担心:“这样皇上会怪罪的”。
鲁宗道却说:“饮酒是人之常情,欺君却是大罪。
”使者听了连连摇头。
进宫之后,宋真宗等得已经不耐烦了,于是责问鲁宗道去干啥了,鲁宗道非常诚恳地道了歉,说:“我家太穷没有喝酒的器皿,而酒楼什么都有,今天有远客,因此就跟他们一起去酒楼喝酒了。
” 就在人们以为宋真宗要大发雷霆的时候,宋真宗却随便说了两句就没有下文了。
从此之后,宋真宗感觉鲁宗道是个实在人,值得重用,因此就将他提拔为右正言谏章。
鲁宗道上任之后,向宋真宗提了很多建议,可以说是非常尽职的。
但是鲁宗道动不动就得给宋真宗写奏折,宋真宗因此感觉很烦。
鲁宗道察觉出来之后,就直接对宋真宗说:“您任用我,难道仅仅是为了纳谏的虚名吗,那请您将我罢官吧。
”真宗一听有道理,因此出言挽留。
宋真宗临死之前,赵祯年幼,因此就将朝中大事托付给了,并且告诉了刘娥很多可以重用的大臣,其中就包括鲁宗道。
刘娥的时候,曾经想要立七庙,朝中大臣无人敢反对,但是鲁宗道却直接提出反对意见。
鲁宗道由于经常敢说一般人不敢说的话,弹劾人们不敢弹劾的权贵,因此当时的很多权贵和权臣都非常怕他,还给了他一个“鱼头参政” 的外号。
意思是说他的骨头硬的就像鱼头一样。
随机文章美国和平使者洲际弹道导弹,世界精度最高的核弹(偏差90米)大蛇丸偷走外道魔像,没有轮回眼险些丧命(被佩恩追回)希尔夫妇被外星人绑架事件,外星人绑架人类做研究/真实事件什么梦预示姻缘到了,做梦梦见自己去相亲/日有所思夜有所梦揭秘史前最大的动物第一名,新西兰大鱼龙体长38米(重331.5吨)