[英]Run javascript function on load
我正在嘗試使用此腳本在頁面加載時運行功能。 誰能看到什么問題? 我敢肯定,這是愚蠢的錯誤-無法解決。
碼:
<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>
window.onload = changeFontSize;
window.onresize = changeFontSize;
或者,您可以使用
window.addEventListener("onload", changeFontSize, false);
window.addEventListener("onresize", changeFontSize, false);
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()
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>
首先,不使用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
也可以工作。
如果您想絕對使用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>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.