我的目标是有一个按钮来打开和关闭移动设备上的缩放功能。
我已经成功地创建了一个按钮,该按钮使用 onClick 事件调用以下函数,以便在初始加载 user-scalable="no" 后打开用户可缩放,并且它按预期工作:
function zoom(){
viewport = document.querySelector("meta[name=viewport]");
viewport.setAttribute('content', 'width=device-width; initial-scale=1.0; maximum-scale=3.0; user-scalable=1;');
alert("does this work?");
}
但是,我需要更进一步,并允许用户在第二次触摸按钮时关闭缩放,然后第三次再次打开。等等。下面是当前的javascript代码,if语句正常工作,但现在我似乎无法影响缩放能力。
var toggleZoom = 0;
function zoom(){
toggleZoom++;
var toggleModulus=toggleZoom%2;
if(toggleModulus==1)
{
viewport = document.querySelector("meta[name=viewport]");
viewport.setAttribute('content', 'width=device-width; initial-scale=1.0; maximum-scale=3.0; user-scalable=1;');
alert("if");
}
else
{
viewport = document.querySelector("meta[name=viewport]");
viewport.setAttribute('content', 'width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=no;');
alert("else");
};
alert("function complete");
}
我在这里缺少什么吗?我不明白为什么第一个代码允许我在触摸按钮时打开缩放,但第二个代码没有。此外,除了更改属性之外,第二个代码中的所有内容似乎都可以正常工作。