文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>(原创)封装的原生弹出层一

(原创)封装的原生弹出层一

时间:2010-09-21  来源:岑安

刚刚在博客园开通博客,试了一下,还不错,比我之前那个自己买的空间快多了,(主要是那个虚拟主机商太狗血了,辛苦做了一年的博客就这样被他扼杀了...恨啊),所以还是来这边第三方博客写东西吧。。。

最近抽空余的时间写了个弹出层的插件,功能不算强大,当练手,以下为示例:

不设任何options参数的box(默认高200px,宽300px)

普通设定高宽的box

高宽自适应内容高宽的box

不带预载动画的box

延迟自动消失的box

title自定义的box

不带标题栏的的box

不带标题栏关闭按钮的box

带按钮和回调参数的box

调用 Hongru.box.open(con,options)函数,参数con为弹出层主要内容,可以是html代码。options为一个object,可选参数目前有
{
width:300 //自定义,弹出层主体(除边框和标题栏的宽度),为0时自适应。
 //自定义title
isBar:1 //true or false,是否有标题栏
isShut:1 //是否有关闭按钮
}
另 Hongru.box.ask(con,options,surecall,cancelcall)为带按钮的提示框,带回调函数前两个参数同上,后两个参数分别为‘确认’和‘取消’的回调函数
其中加入了透明度渐变和大小渐变,透明度渐变主体函数如下:
alphaAnim:function(obj,destination,direction){
                        var opacity = Math.round(obj.style.opacity*100);
                        if(opacity == destination){
                                clearInterval(obj.animing);
                                if(direction == -1){
                                        obj.style.display='none';
                                        obj == box?Hongru.box.alpha(mask,-1,0):content.innerHTML=box.style.backgroundImage='';
                                }else{
                                        curOptions = {width:_width,
                                }
                        }else{
                                var n=Math.ceil((opacity+((destination-opacity)*.5))); n=n==1?0:n;
                                obj.style.opacity=n/100; 
                                obj.style.filter='alpha(opacity='+n+')';
                        }
                },
box大小渐变函数体如下:
sizeAnim:function(obj,width,otherW,wFlag,height,otherH,hFlag){
                        var objW = obj.offsetWidth-otherW, objH = obj.offsetHeight-otherH;
                        if(objW == width && objH == height){
                                clearInterval(obj.sizing); 
                                box.style.backgroundImage='none'; 
                                content.style.display='block';
                        }else{
                                if(objW!=width){
                                        var n = objW+((width-objW)*.5); 
                                        obj.style.width = wFlag?Math.ceil(n)+'px':Math.floor(n)+'px';
                                        }
                                if(objH!=height){
                                        var n = objH+((height-objH)*.5); 
                                        obj.style.height = hFlag?Math.ceil(n)+'px':Math.floor(n)+'px';
                                        }
                                this.pos();
                                
                        }
                },
好了,废话不多说了,附上源文件打包下载:狠狠点击这里 如果觉得不错,请移驾点下 下面 的推荐
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载