2013-04-10 116 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