2012-06-02 66 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