在页面加载时运行两个函数

时间:2016-10-13 16:27:15

标签: javascript jquery html

我正在尝试将两个函数合并到一个文件中。结果将是加载页面以运行函数并将结果显示在定义的div上。如果有人能告诉我我做错了什么,我将非常感激。

function Calc(){
  var a;
  var b;
  var c;
  
  a=1;
  b=2;
  
  c=a+b;
  
  $("#FirstDiv").html(c);
}

function Name(){
   var Name;
   Name = "George";
  
  $("#SecondDiv").html(Name);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div id="FirstDiv"></div>
<div id="SecondDiv"></div>

3 个答案:

答案 0 :(得分:4)

您需要在页面加载时执行函数,如下所示:

&#13;
&#13;
function Calc(){
  var a;
  var b;
  var c;
  
  a=1;
  b=2;
  
  c=a+b;
  
  $("#FirstDiv").html(c);
}

function Name(){
   var Name;
   Name = "George";
  
  $("#SecondDiv").html(Name);
}

Calc();
Name();
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div id="FirstDiv"></div>
<div id="SecondDiv"></div>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

如果您正在使用jquery,请使用此功能安全地执行您的两个功能。

<script>
$( document ).ready(function() {
    //call your functions here;
});
</script>

https://learn.jquery.com/using-jquery-core/document-ready/

答案 2 :(得分:1)

正如其他人告诉你的那样,问题在于你没有调用这些功能。

但是考虑将每个函数转换为IIFE这样就可以防止全局范围污染(即将函数附加到窗口或文档范围)并在解析脚本后立即执行函数。

事情会是这样的:

(function Calc($){
    var a;
    var b;
    var c;

   a=1;
   b=2;

   c=a+b;

  $("#FirstDiv").html(c);
})(jQuery)

(function Name($){
   var Name;
   Name = "George";

  $("#SecondDiv").html(Name);
})(jQuery)

此外,如果你将jQuery传递给IIFE,你可以确定$指向jQuery,而不是另一个库或其他什么。

<强>编辑:

作为@MisterPositive评论,请确保已经加载了jQuery。所以,是的,将代码包装在$(document).ready(function(){})内,或者在关闭</body>标记之前在标题和脚本中添加jQuery脚本标记(另一种方法是确保在执行代码之前加载页面)

希望它有所帮助!