在HTML中运行外部Javascript
新东西,请耐心等待。 我有一个外部js文件,在我的HTML声明等JS代码是罚款和小提琴作品 - https://jsfiddle.net/0hu4fs4y/在HTML中运行外部Javascript
<script src="js/noti.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
<script src="js/jquery.flexslider-min.js"></script>
<script src="js/scripts.js"></script>
但是,这是行不通的。我运行一个旧的JQuery库吗?
这是愚蠢的/明显的我失踪了吗?
两件事情:
我猜
noti.js
依赖于jQuery的。如果是这样,它应该是之后包含jQuery的脚本标记(可能与您的scripts.js
一起)。确保这些脚本标签是在HTML的末,刚刚闭幕
</body>
元素之前,让他们上存在作用的元素脚本运行时。
你的代码的小提琴作品,因为你已经在代码中直接粘贴和使用的jsfiddle的(心态麻木令人惊讶的)默认的是等待,直到window
load
事件运行运行你的代码,这是非常,非常在页面加载过程中晚了。如果你是初学者,你可能已经看到了将script
标签放在head
中的反模式,并在你的东西中完成了这一操作,这意味着当你的代码运行时你的元素不存在,因为解析器没有看到它们然而。
感谢T.J的快速回答 - 像魔术一样,将脚本标记移动到底部工作。万分感谢。 –
在的jsfiddle控制台错误是:
ReferenceError: $ is not defined
这可能是你的becasue是noti.js
上使用的所有其他script
顶部
jquery
放jQuery脚本我觉得你的文件,'noti.js'和'scripts.js'依赖于jQuery,所以包含'jquery.min.js'作为第一个文件,其余部分在后面。或者,也可以尝试使用'jQuery.noConflict()'。 https://api.jquery.com/jquery.noconflict/ –您可能想要检查控制台(现代浏览器上的F12)以检查是否有错误消息。 –
你的小提琴只有一个js文件。这是什么?不要将代码隐藏在小提琴后面。 – Teepeemm