2013-04-10 114 views
0

你好,我使用這個縮放JavaScript代碼來放大我的div取決於它的屏幕大小,它完美的作品,但我想這樣,當我設置一個iPad的肖像模式,它停止從縮放腳本加工。這裏是腳本。在肖像模式下關閉縮放

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script> 
    <script type="text/javascript" language="javascript"> 

var minW = 1800; 

$(function() { 
CheckSizeZoom() 
$('#divWrap').css('visibility', 'visible'); 
}); 
$(window).resize(CheckSizeZoom) 

function CheckSizeZoom() { 
if ($(window).width() < minW) { 
var zoomLev = $(window).width()/minW; 

if (typeof (document.body.style.zoom) != "undefined") { 
$(document.body).css('zoom', zoomLev); 
} 
else { 
// Mozilla doesn't support zoom, use -moz-transform to scale and compensate for lost width 
$('#divWrap').css('-moz-transform', "scale(" + zoomLev + ")"); 
$('#divWrap').width($(window).width()/zoomLev + 10); 
$('#divWrap').css('position', 'relative'); 
$('#divWrap').css('left', (($(window).width() - minW - 16)/2) + "px"); 
$('#divWrap').css('top', "-19px"); 
$('#divWrap').css('position', 'relative'); 
} 
} 
else { 
$(document.body).css('zoom', ''); 
$('#divWrap').css('position', ''); 
$('#divWrap').css('left', ""); 
$('#divWrap').css('top', ""); 
$('#divWrap').css('-moz-transform', ""); 
$('#divWrap').width(""); 
} 
} 
</script> 

歡呼

+0

我必須說你的問題標題是一種誤導... – techfoobar 2013-04-10 11:28:07

+0

我不知道如何描述它 – 2013-04-10 11:33:46

+0

也許「在縱向模式下關閉縮放」 – techfoobar 2013-04-10 12:18:50

回答

0

檢查$(window).width()$(window).height()確定設備定位。

另一個技巧是鏈接你的jQuery調用,如$('#divWrap').css('position', '').css('left', '').css('top', '');以獲得更好的性能。

0

檢測肖像模式WDever已經提供了正確的答案。 但我不鼓勵在這種情況下使用.css()函數的兩種方法之一。 您可以傳遞一個對象到這個功能,如:

$('#divWrap').css({ 
    position: '', 
    left: '', 
    top: '' 
}); 

這樣,你讓你的代碼乾淨,短,易於閱讀。

+0

我會在哪裏放置這個對不起,即時通訊相當基本與JavaScript – 2013-04-10 11:42:10

+0

你有這樣的代碼行: 「$(document.body).css('zoom','');」 您可以使用上面提供的示例將所有這些.css()合併爲一個。 – 2013-04-10 11:46:45

+0

完全複製粘貼了確切的錯誤行,因爲該元素只收到單個更改...顯然,我的意思是複製粘貼一行這個:「$('#divWrap').css('position','');」 – 2013-04-10 11:53:36