【问题标题】:How to call external JavaScript function in HTML如何在 HTML 中调用外部 JavaScript 函数
【发布时间】:2012-03-02 09:37:32
【问题描述】:

我有一小段代码似乎无法正常工作。我正在建立一个网站并第一次使用 JavaScript。我的 JavaScript 代码位于外部文件“Marq_Msg.js”中,如下所示:

var Messages = new Array();
Messages[0] = "This is message 1";
Messages[1] = "This is message 2";
Messages[2] = "This is message 3";
Messages[3] = "This is message 4";  

function scroll_messages()
{
  for (var i = 0; i < Messages.length; i++)
        document.write(Message[i]); 
}

在我的 HTML 文件“Index.html”中,我试图这样称呼它:

    <div id="logo">
        <marquee scrollamount="5" direction="left" loop="true" height="100%" width="100%">
        <strong><font color="white"><script src="Marq_Msg.js">scroll_messages()</script></font></strong>
        </marquee>
    </div>

'logo' div 是一个 CSS 片段,我试图在其中添加字幕。如果我将嵌入在“head”标签中的代码并调用它,它会完美运行!我还想用这段代码做一些其他的事情(比如把消息隔开一点),但我一开始就无法让代码工作。我也试过添加:

<script src="Marq_Msg.js"></script>

在“head”标签中单独调用,这是不行的。我也尝试使用:

<script type="text/javascript" src="Marq_Msg.js">scroll_messages()</script>

天啊,我什至让函数尝试返回一个字符串(甚至硬编码一个要返回的简单“hello”),但无论有没有“类型”,它都不起作用:

//Marq_Msg.js
function scroll_messages()
{
   return "hello";
}

//index.html
<script type="text/javascript" src="Marq_Msg.js">document.write(scroll_messages())</script>

我错过了什么?任何帮助将不胜感激!!我浏览了整个谷歌,我发现的每个网站都想使用某种“表单”来实现。我只想显示消息,不附加任何表单。

【问题讨论】:

  • &lt;script type="text/javascript" src="Marq_Msg.js"&gt;scroll_messages()&lt;/script&gt; 出于某种原因为我工作。

标签: javascript html


【解决方案1】:

如果&lt;script&gt;src,则元素的文本内容将不会作为JS 执行(尽管它会出现在DOM 中)。

您需要使用多个脚本元素。

  1. &lt;script&gt; 加载外部脚本
  2. &lt;script&gt; 保存您的内联代码(在外部脚本中调用函数)

    滚动消息();

【讨论】:

  • 更新:我做了一个更基本的页面,只包含了选框……它可以工作。你的回答很完美,谢谢你!!!我认为它可能是字体颜色或.... idk 的东西。生病再摆弄它一点。再次感谢你。你不会认为它在&lt;div&gt; 标签下有什么关系吗?
  • 你好。我这样做了:我使用了两个脚本块,一个使用 src="./functions.js" 另一个块使用在那里创建的一个函数:getAnswers(); - 但是控制台说该功能没有定义......我不明白你的答案。你能补充一点细节吗?对不起,我对 JavaScript 也很陌生...
【解决方案2】:

通俗地说,您需要在 HTML 文件中包含外部 js 文件,然后您可以直接从 HTML 页面调用用外部 js 文件编写的 JS 方法。 按照代码 sn-p 进行深入了解:-

caller.html

<script type="text/javascript" src="external.js"></script>
<input type="button" onclick="letMeCallYou()" value="run external javascript">

external.js

function letMeCallYou()
{
    alert("Bazinga!!!  you called letMeCallYou")
}

结果:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-30
    • 2017-02-19
    • 2017-02-01
    • 1970-01-01
    • 2018-04-22
    • 2013-01-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多