2 回答

TA貢獻2011條經驗 獲得超2個贊
這應該給你你正在尋找的東西:
function zoomIn(el)
{
// Current zoom level as a number
const zLevel = +(el.style.zoom);
// If current zoom level is equal or grater than 8 then set it to 8
// otherwise double it
el.style.zoom = (zLevel >= 8) ? 8 : (zLevel * 2);
}
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Conditional_Operator
查看該鏈接以了解有關“?(三元)“運算符。
你可以這樣使用它:
<!-- inline -->
<button id="zoomIn" onclick="zoomIn(this)">Zoom In</button>
或
// Zoomable element
const zoomable = document.getElementById('mainVP');
// Zoom button: this can be the zoomable element itself or any other element
document.getElementById('zoomIn').onclick = e => {
zoomIn(zoomable);
};

TA貢獻1824條經驗 獲得超8個贊
NASA的答案似乎比我最終的解決方案要簡潔得多,我現在知道了三元算子。但我只是不知道如何使用代碼的“可縮放元素”或“縮放按鈕”部分。一旦我知識多一點,我會重新審視這一點。我現在回到了我原來的技術,經過一些調試后,我意識到getElementById返回0。所以我用getComputedStyle代替了:
function zoomIn() {
var elem = document.getElementById("mainVP");
var zoomNow =
window.getComputedStyle(
elem, null).getPropertyValue("zoom");
if (zoomNow == 8) {
document.getElementById('mainVP').style.zoom = 8;
} else {
zoomNow = zoomNow*2;
document.getElementById('mainVP').style.zoom = zoomNow;
}
}
添加回答
舉報