如何在 HTML 中调用外部 JavaScript 函数

新手上路,请多包涵

我有一小段代码似乎无法正常工作。我正在建立一个网站并第一次使用 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>

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

原文由 Kevin Fauver 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 837
1 个回答

如果 <script>src 则元素的文本内容 _将不会作为 JS 执行_(尽管它会出现在 DOM 中)。

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

  1. <script> 加载外部脚本

  2. 一个 <script> 来保存你的内联代码(在外部脚本中调用函数)

滚动消息();

原文由 Quentin 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题