当前位置:  开发笔记 > 编程语言 > 正文

iphone方向更改后,我可以在移动Safari中触发CSS事件吗?

如何解决《iphone方向更改后,我可以在移动Safari中触发CSS事件吗?》经验,为你挑选了4个好方法。

当用户将手机从纵向模式旋转到横向模式时,我正试图弄清楚如何更改嵌入式网页 - 基本上是为了加载更适合更宽屏幕格式的视图.这可以不从服务器调用新页面,即从CSS/Javascript本身驱动它吗?

谢谢!



1> anthares..:

您可以使用该window.orientation物业.其值是使用当前视图的程度.这是一个简短的例子:

function updateOrientation()
{   
    var orientation=window.orientation;
    switch(orientation)
    {

        case 0:

                break;  

        case 90:
                break;

        case -90:   

                break;
    }

}

您可以在此活动中使用此功能:

window.onorientationchange=updateOrientation;

希望有所帮助!



2> Andrew Hedge..:

最好不要onorientationchange直接设置属性.而是使用以下内容:

window.addEventListener('orientationchange', function (evt) {
    switch(window.orientation) {
        case 0: // portrait
        case 180: // portrait
        case 90: // landscape
        case -90: // landscape
    }
}, false);



3> Ben S..:

Safari移动浏览器支持该orientationchange事件以及orientation窗口上的属性,因此您可以执行以下操作:

window.onorientationchange = function() {
    switch(window.orientation) {
        case 0:   // Portrait
        case 180: // Upside-down Portrait
            // Javascript to setup Portrait view
            break;
        case -90: // Landscape: turned 90 degrees counter-clockwise
        case 90:  // Landscape: turned 90 degrees clockwise
            // Javascript to steup Landscape view
            break;
    }
}

我会添加颠倒,因为iPad人机界面指南说你应该支持所有方向,所以我希望iPad上的Safari(可能还有未来的iPhone版本)支持它.



4> Itai Sagi..:

我无法相信没有人谈到css裁决:

@media screen and (max-width: 320px) // Portait Mode
{
/* CSS RULINGS */
p{}
body{}
}

@media screen and (min-width: 321px) // Landscape Mode
{
/* CSS RULINGS */
p{}
body{}
}

推荐阅读
乐韵答题
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有