JS 设置物体居中

对于js初级学习很有帮助。

JS实现物体居中,触发发浏览器窗口时物体也居中。这里实现的是一个弹出登录框居中的一个效果。

效果图1:点击登录,弹出登录窗口


效果图2:登录窗口。点击红的X关闭登录框




方法1.

window.οnlοad=function(){
    
    //所有浏览器都兼容
    //alert(document.documentElement.clientHeight);//得到整个浏览器的高的
    //alert(document.documentElement.clientWidth);//得到整个浏览器的宽的
    
    //让物体居中(整个浏览器的的高/宽-(减去)物体的高、宽、(除以)/2)
    var top=(document.documentElement.clientHeight-250)/2;
    var left=(document.documentElement.clientWidth-350)/2;
    $().getId('login').css('top',top+'px').css('left',left+'px');
    //改变浏览器窗口大小 触发事件
    window.οnresize=function(){
        var top=(document.documentElement.clientHeight-250)/2;
        var left=(document.documentElement.clientWidth-350)/2;
        //#login必须设置绝对定位
        $().getId('login').css('top',top+'px').css('left',left+'px');
    };
    
    //点击事件 打开关闭
    $().getClass('logBtn').click(function(){
        $().getId('login').css('display','block');
    });
    $().getClass('close').click(function(){
        $().getId('login').css('display','none');
    });

};

方法2.

1.调用事件

//设置物体居中、触发浏览器事件

       $().getId('login').center(350,250).resize(function(){

              $().getId('login').center(350,250);

       });

       //点击事件 打开关闭

       $().getClass('logBtn').click(function(){

              $().getId('login').css('display','block');

       });

       $().getClass('close').click(function(){

              $().getId('login').css('display','none');

       });


2. 封装物体居中

//设置物体居中

Base.prototype.center=function(width,height){//设置两个参数,物体的宽度、高度

       var top=(document.documentElement.clientHeight-250)/2;

       var left=(document.documentElement.clientWidth-350)/2;

       for(var i=0; i<this.elements.length;i++){//遍历

              this.elements[i].style.top=top+'px';

              this.elements[i].style.left=left+'px';

       }

       return this;//返回再次调用 否则只能调用一次

      

};

 

 3.触发浏览器窗口事件

//触发浏览器窗口事件

Base.prototype.resize=function(fn){

       window.οnresize=fn;

       return this;

};

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值