我正在尝试从此if语句调用函数时调整<div>
的大小。我知道if
语句正在工作,因为当函数mTr()
被调用时它起作用,我知道函数myFun()
有效,但由于某种原因,函数myFun()没有被调用。
if (window.screen.height==568) { // iPhone 4"
document.querySelector("meta[name=viewport]").content="width=320.1";
myFun("divId");
mTr();
}
function myFun(id)
{
var obj = document.getElementById(id);
if (obj)
{
obj.setAttribute("style", "height:300px;");
}
}
function mTr()
{
alert("Hello World!");
}
答案 0 :(得分:0)
有几个原因myFun()
不会被调用:
window.screen.height
并不完全是568 document.querySelector("meta[name=viewport]").content="width=320.1";
生成脚本错误,导致脚本执行停止要做的第一件事是检查浏览器错误控制台并查看报告的脚本错误(如果有)。
第二件事就是在你的javascript调试器(内置于大多数浏览器中)的if
语句中设置断点,然后逐步执行以下每个语句以查看发生的情况。
您还可以在代码中嵌入console.log("xxx")
语句,以在控制台中创建面包屑跟踪,告诉您发生了什么。
答案 1 :(得分:-1)
我重新测试了一切。我想我找到了你的问题。您的代码中有错误。
错误在这里:
document.querySelector("meta[name=viewport]").content="width=320.1";
应该是:
document.querySelector("meta[name=viewport]").setAttribute('content', 'width=320.1');
完成Javascript:
if (window.screen.height==568) {
document.querySelector("meta[name=viewport]").setAttribute('content', 'width=320.1');
myFun("divId");
mTr();
}
function myFun(id)
{
var obj = document.getElementById(id);
if (obj)
{
obj.setAttribute("style", "height:300px;");
}
}
function mTr()
{
alert("Hello World!");
}
你可以在这里测试一下: http://jsfiddle.net/KwGwd/