我正在尝试使用此脚本在页面加载上运行函数。任何人都可以看到什么是错的?愚蠢的错误,我敢肯定 - 只是无法解决它。
代码:
<script>
var text = document.getElementById("myText");
function changeFontSize(){
if (window.innerWidth < 600) {
text.style.fontSize = "70px";
} else {
text.style.fontSize = "100px";
}
}
window.onresize = changeFontSize;
</script>
<script>
setTimeout(function() changeFontSize, 3000);
</script>
答案 0 :(得分:2)
window.onload = changeFontSize;
window.onresize = changeFontSize;
或者,您可以使用
window.addEventListener("onload", changeFontSize, false);
window.addEventListener("onresize", changeFontSize, false);
答案 1 :(得分:0)
var text = document.getElementById("myText");
function changeFontSize() {
if (window.innerWidth < 600) {
text.style.fontSize = "70px";
} else {
text.style.fontSize = "100px";
}
}
window.onresize = changeFontSize;
setTimeout(changeFontSize, 3000);
<p id="myText">Test</p>
基本上你在语法错误:
setTimeout(function() changeFontSize, 3000);
您不需要function()
答案 2 :(得分:0)
var text = document.getElementById("myText");
function changeFontSize(){
if (window.innerWidth < 600) {
text.style.fontSize = "70px";
} else {
text.style.fontSize = "100px";
}
}
window.onload = changeFontSize;
window.onresize = changeFontSize;
<div id="myText">Test</div>
答案 3 :(得分:0)
首先,setTimeout()
未按照您编写的方式使用,而应该是setTimeout(changeFontSize, 3000);
。据说这样可行:
<script>
var text = document.getElementById("myText");
function changeFontSize() {
if (window.innerWidth < 600) {
text.style.fontSize = "70px";
} else {
text.style.fontSize = "100px";
}
}
window.onresize = changeFontSize;
changeFontSize();
</script>
正如jperelli所说,window.onload = changeFontSize
也会奏效。
答案 4 :(得分:0)
如果你想绝对使用onresize
代替onload
(我想你想要实现一些响应),你需要等待页面加载,否则对象 myText 不会在变量文本中初始化对象(因为它在DOM中尚未可用)。
请注意,在这种情况下,不需要使用setTimeout
(你的语法错误)。
这有效:
<script>
function changeFontSize(){
if (window.innerWidth < 600) {
document.getElementById("myText").style.fontSize = "70px";
} else {
document.getElementById("myText").style.fontSize = "100px";
}
}
window.onresize = changeFontSize;
</script>