js横屏实现

这段代码定义了一个名为changeOrientation的函数,用于处理页面的横竖屏适配。它根据窗口尺寸判断屏幕方向,并相应调整指定元素($print)的宽高、位置及旋转角度。当设备发生旋转或窗口大小改变时,会触发事件监听器进行相应的布局更新,确保元素始终适应屏幕方向。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考链接:https://common.ofo.so/campaign/20country/

/**
 * 横竖屏
 * @param {Object}
 */
function changeOrientation($print) {
    var width = document.documentElement.clientWidth;
    var height =  document.documentElement.clientHeight;
    if(width < height) {
        $print.width(height);
        $print.height(width);
        $print.css('top',  (height - width) / 2 );
        $print.css('left',  0 - (height - width) / 2 );
        $print.css('transform', 'rotate(90deg)');
        $print.css('transform-origin', '50% 50%');
    }

    var evt = "onorientationchange" in window ? "orientationchange" : "resize";

    window.addEventListener(evt, function() {

        setTimeout(function() {
            var width = document.documentElement.clientWidth;
            var height =  document.documentElement.clientHeight;

            if( width > height ){
                $print.width(width);
                $print.height(height);
                $print.css('top',  0 );
                $print.css('left',  0 );
                $print.css('transform' , 'none');
                $print.css('transform-origin' , '50% 50%');
            }
            else {
                $print.width(height);
                $print.height(width);
                $print.css('top',  (height-width)/2 );
                $print.css('left',  0-(height-width)/2 );
                $print.css('transform' , 'rotate(90deg)');
                $print.css('transform-origin' , '50% 50%');
            }
        }, 300);
    }, false);
}

export default changeOrientation;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值