编写Js代码时你是否厌烦了window.alert,window.confirm所弹出来单一的对话框?
接下来的日子里,我们一起来学习利用JS来开发属于自己的js对象。嘿嘿!

老鸟请移步别处,小弟不喜欢被批:)
一、 打造自己的alert()对象

实现难点:
         1、利用何种方式模仿这个提示对话框?
         2、如何在弹出对话框时,使网页中其他元素不可用
思路:
        问题1:如何模仿?有API可调么?如何调呢?我比较生疏,不予采用调API;这里我选择div来制作这个效果
               div比较熟。大家有其他的好方法,请赐教。
         问题2:如何在弹出提示对话框的时候,使其他元素不可用呢?这个问题一时比较难解决。后来被人一语点醒,利用css来解决。
         
        OK,开工吧,其实非常简单。
      第一步,先建立一个htm文件,在里面利用js创建我们的提示对话框面板。
        htm代码省略,只贴js代码
 1打造自己的Javascript alert confirm对象(一)function Msg()
 2}
 OK,面板创建完毕,如果你调用该函数的话,就会发现,在页面中就会多出一个蓝色边框的块
第2步:为他添加标题栏,关闭按钮和确定按钮,以及提示图片,也是按第1步的方法做。
完毕后的代码如下。
 1打造自己的Javascript alert confirm对象(一)function Msg(str)
 2打造自己的Javascript alert confirm对象(一)//创建提示对话框面板
 3打造自己的Javascript alert confirm对象(一)            var dvMsg = document.createElement("div");
 4打造自己的Javascript alert confirm对象(一)            dvMsg.style.position = "absolute";
 5打造自己的Javascript alert confirm对象(一)            dvMsg.setAttribute('id','msg');
 6打造自己的Javascript alert confirm对象(一)            dvMsg.style.width = "400px";
 7打造自己的Javascript alert confirm对象(一)            dvMsg.style.height = "100px";
 8打造自己的Javascript alert confirm对象(一)            dvMsg.style.top="40%";
 9打造自己的Javascript alert confirm对象(一)            dvMsg.style.left="30%";
10打造自己的Javascript alert confirm对象(一)            dvMsg.style.background = "white";
11打造自己的Javascript alert confirm对象(一)            dvMsg.style.border="1px solid #6699dd";
12打造自己的Javascript alert confirm对象(一)            dvMsg.style.zIndex = "1112";
13打造自己的Javascript alert confirm对象(一)            document.body.appendChild(dvMsg);
14打造自己的Javascript alert confirm对象(一)            //标题栏
15打造自己的Javascript alert confirm对象(一)            var title = document.createElement("div");
16打造自己的Javascript alert confirm对象(一)            title.style.position = "absolute";
17打造自己的Javascript alert confirm对象(一)            title.setAttribute('id','title');
18打造自己的Javascript alert confirm对象(一)            title.style.width = "400px";
19打造自己的Javascript alert confirm对象(一)            title.style.height = "10px";
20打造自己的Javascript alert confirm对象(一)            title.style.top= "0";            
21打造自己的Javascript alert confirm对象(一)            title.style.filter = "progid:DXImageTransform.Microsoft.Alpha(style=1,opacity=100,finishOpacity=100%)";
22打造自己的Javascript alert confirm对象(一)            title.style.zIndex = "1113";
23打造自己的Javascript alert confirm对象(一)            title.innerHTML = "<font size='2'>提示</font>";
24打造自己的Javascript alert confirm对象(一)            title.style.background = "#6699ff";
25打造自己的Javascript alert confirm对象(一)            
26打造自己的Javascript alert confirm对象(一)            //提示图片
27打造自己的Javascript alert confirm对象(一)            var imgErr = document.createElement("img");
28打造自己的Javascript alert confirm对象(一)            imgErr.src = "pic/err.gif";
29打造自己的Javascript alert confirm对象(一)            imgErr.style.marginLeft = "15px";
30打造自己的Javascript alert confirm对象(一)            imgErr.style.marginTop = "30px";
31打造自己的Javascript alert confirm对象(一)            imgErr.style.position = "absolute";
32打造自己的Javascript alert confirm对象(一)            
33打造自己的Javascript alert confirm对象(一)            //关闭图片
34打造自己的Javascript alert confirm对象(一)            var imgClo = document.createElement("img");
35打造自己的Javascript alert confirm对象(一)            imgClo.src = "pic/delete.gif";
36打造自己的Javascript alert confirm对象(一)            imgClo.style.marginLeft = "378px";
37打造自己的Javascript alert confirm对象(一)            imgClo.style.marginTop = "0px";
38打造自己的Javascript alert confirm对象(一)            imgClo.style.position = "absolute";
39打造自己的Javascript alert confirm对象(一)            imgClo.style.zIndex = "1115";
40打造自己的Javascript alert confirm对象(一)            imgClo.style.cursor = "hand";
41打造自己的Javascript alert confirm对象(一)            imgClo.onclick = function ()
42}
OK 现在调用这个函数,是不是我们自己的提示对话框就出来了??

可是细心的您肯定又会发现,不对啊,window.alert弹出后,它后面的元素都不可用啊,那我们就进一步完善它吧
其实很简单,添加一个层,遮住它后面的元素就行咯。
在JS代码中添加下列代码
 1            document.body.appendChild(dv);
好啦,运行界面就是下面这个样子的。下一节制作confirm对象
打造自己的Javascript alert confirm对象(一)

               
申明:
         本文章代码未经过任何测试,本系列随笔为原创,转载请注明。

相关文章:

  • 2021-11-22
  • 2021-06-20
  • 2022-01-21
  • 2022-12-23
  • 2022-12-23
  • 2021-08-26
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-12-30
  • 2022-12-23
  • 2022-12-23
  • 2021-09-22
  • 2021-05-28
相关资源
相似解决方案