我有以下JQuery函数:
<script>
$(document).ready(function(){
var current_width = $(window).width();
if(current_width => 1920){
$("#body").css({
-moz-transform: 'scale(1, 1)',
zoom: '1',
zoom: '100%'
});
}
else if(1366 < current_width < 1920){
$("#body").css({
-moz-transform: 'scale(0.85, 0.85)',
zoom: '0.85',
zoom: '85%',
});
}
else if(current_width <= 1366){
$("#body").css({
-moz-transform: 'scale(0.7, 0.7)',
zoom: '0.7',
zoom: '70%'
});
}
});
</script>
我使用Chrome窗口调整大小扩展来测试不同的屏幕尺寸,但是当使用window.width JQuery函数时,尽管浏览器已调整大小,但它仍然检测到我的原生1920px宽度。我的代码有问题,或者我真的需要在使用window.width()
功能时使用其他设备测试不同的屏幕尺寸吗?
谢谢
答案 0 :(得分:2)
将代码包装在resize
事件处理程序中。请参阅以下代码中突出显示的更改。
$(window).on('load resize rotate', function() {
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
var current_width = $(window).width();
if (current_width >= 1920) {
// ^^
$("#body").css({
'-moz-transform': 'scale(1, 1)',
// zoom: '1', Don't need
zoom: '100%'
});
} else if (current_width > 1366 && current_width < 1920) {
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
$("#body").css({
'-moz-transform': 'scale(0.85, 0.85)',
// zoom: '0.85', // Not needed
zoom: '85%',
});
} else if (current_width <= 1366) {
$("#body").css({
'-moz-transform': 'scale(0.7, 0.7)',
// zoom: '0.7', // Not needed
zoom: '70%'
});
}
});