window.onresize = function () {
initiate();
};
function initiate() {
var windowWidth = $(window).width();
var windowHeight = $(window).height();
...
我想要做的是在屏幕转动(移动网络应用程序)时重绘我的画布。我现在遇到的问题是,如果我转动屏幕,$(window).width();给出旧的宽度,也是$(document).width();不起作用。计时器可以解决问题,但必须有更好更清洁的方法。
有谁知道如何解决这个问题?
答案 0 :(得分:2)
您的函数initiate()
会调用每个像素窗口调整大小的错误。您需要做的就是添加一些setTimeout
,例如:
var resizeHandler;
window.onresize = function () {
clearInterval( resizeHandler );
resizeHandler = setTimeout( initiate, 500 );
};
我认为事件处理程序调用太多时间并不是一种更干净的方式......