在加载时运行javascript函数

时间:2015-07-13 17:18:23

标签: javascript html

我正在尝试使用此脚本在页面加载上运行函数。任何人都可以看到什么是错的?愚蠢的错误,我敢肯定 - 只是无法解决它。

代码:

<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>

5 个答案:

答案 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>