2
我知道你通常不喜歡做這樣的事情,但我在大學必須做一個項目,在同一頁的幾個不同的樣式表。我已經獲得了JavaScript代碼,以便在調整窗口大小時調整頁面大小。JavaScript頁面縮放
這段代碼可以正常工作,但是當內容div不應占用頁面的大部分時,我在其中一個樣式表中獲得了特殊效果,此頁面在ems中有測量值,而我的其他樣式表使用px,但是我是應該使用ems至少一個頁面。儘管我可以給我的講師一個更大的理由,但我更願意解決這個問題。我使用的JavaScript代碼如下所示:
function smoothresize() {
blockwidth = 59.4; /*This is in ems as per the lecturers request a well and is the size of the container div I created*/
minmargin = 0;
minsize = 10;
emwidth = (minmargin * 2) + blockwidth;
computeResize(emwidth, minsize, false)
}
function computeResize(wide, minsize, jerk) {
windowpixels = document.documentElement.clientWidth;
pixelsize = windowpixels/wide;
emsize = calculateEmsize(pixelsize, minsize, jerk);
b = document.getElementsByTagName('html')[0];
b.style.fontSize = emsize + "em";
}
function calculateEmsize(psize, minsize, jerk) {
if (psize > minsize) {
raw = psize;
}
else {
raw = minsize;
}
if (jerk) {
result = ((Math.floor(raw))/16);
}
else {
result = raw/16;
}
return result
}
這是我在XHTML的實現代碼:
<body onload="smoothresize()" onresize="smoothresize()">
我將無法使用jQuery作爲解決問題要麼是,我只能修改給定的代碼。
在這個問題上的任何幫助,將不勝感激
當你設置像素大小時,你的邏輯可能會出錯'computeResize'?如果你的窗口寬度爲1000px,那麼你用ems中的寬度除以16.8,這似乎並不直接與你在下面檢查它的方式相關嗎?您可能想要設置一個示例頁面,因爲很難準確地告訴您要做什麼,以及出了什麼問題。 – cjspurgeon