2012-06-02 44 views
0

虽然标题几乎是一样的,我的问题是不是Prevent orientation change in iOS Safari重复(我改变了答案,使下面的代码)防止取向变化

我写了下面的代码,因此,如果用户旋转iPad的/ iPhone/iPod,我旋转的内容,他将不得不旋转设备正常看到的内容。

if(window.orientation==90) 
{ 
    document.getElementById("orient").style.webkitTransform="rotate("+window.orientation+"deg)"; 
    document.getElementById("orient").style.webkitTransformOrigin="0px 0px"; 
    document.getElementById("orient").style.top=screen.height+"px"; 
} 

当我旋转我的设备时,内容消失。 有人可以帮我做这个工作吗?

回答

1

我认为你的问题在这里是你的转换起点,它应该在你的内容的中间而不是顶端的角落。当你在转角处应用转换原点时,它会将div旋转到可见区域外面,这就是为什么你什么都看不到。如果你想让它具有相同的形状,你还需要修改其他的修改。

这里有一个简单的例子,应该工作,做你想做的

<div id="all" style="-webkit-transform: rotate(90deg); -webkit-transform-origin: 50% 50%; position:absolute; width: 100%; height: 100%;"> 
    Lorem ipsum dolor sit amet ... 
</div> 

<script type="text/javascript"> 
    var all = document.getElementById("all"); 

    all.style.height = window.innerWidth + "px"; 
    all.style.width = window.innerHeight + "px"; 
    all.style.top = (window.innerHeight - window.innerWidth)/2 + "px"; 
    all.style.left = (window.innerWidth - window.innerHeight)/2 + "px"; 
</script> 

注:它可能无法与您的问题,但我想你想要做Math.abs(window.orientation)而不是window.orientation,由于取向是-90或90.

+0

它从风景到肖像而不是从肖像到风景 – user1365010