Javascript jQuery脚本可以内联工作,但不能在外部文件中工作
很多人以前都有过同样/类似的问题,不幸的是之前的帖子都没有帮助我解决问题 我有一个简单的jQuery脚本,在DIV中上下滑动Javascript jQuery脚本可以内联工作,但不能在外部文件中工作,javascript,jquery,Javascript,Jquery,很多人以前都有过同样/类似的问题,不幸的是之前的帖子都没有帮助我解决问题 我有一个简单的jQuery脚本,在DIV中上下滑动 <!DOCTYPE html> <html lang="de"> <head> <meta charset="utf-8" /> <title>Standard-Template</title> ... <script type="text/javascript" src="https:/
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8" />
<title>Standard-Template</title>
...
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<link rel="stylesheet" type="text/css" href="../scripts/magnific-popup/magnific-popup.css" media="all" />
<script type="text/javascript" src="../scripts/magnific-pleopup/jquery.magnific-popup.js"></script>
<script type="text/javascript" src="../scripts/jquery.placeholder.js"></script>
<script type="text/javascript" src="../scripts/cycle/jquery.cycle2.min.js"></script>
<script type="text/javascript" src="../scripts/cycle/jquery.cycle2.swipe.min.js"></script>
<script type="text/javascript" src="../scripts/scriptlibrary.js"></script>
</head>
<body>
...
<script>
$("section.job-section div.job-trigger").click(function() {
if($(this).parents("section").hasClass("expanded")) {
// einklappen
$(this).parents("section").addClass("close");
$("section.expanded h3.job-trigger.close").removeClass("close");
$("section.expanded div.job-trigger").removeClass("close");
$("section.expanded.close div.job-details").slideUp();
$(this).parents("section").removeClass("expanded").removeClass("close");
} else {
// ausklappen
$(this).parents("section").addClass("expanded");
$("section.expanded h3.job-trigger").addClass("close");
$("section.expanded div.job-trigger").addClass("close");
$("section.expanded div.job-details").slideDown();
}
});
</script>
</body>
</html>
标准模板
...
...
$(“section.job-section div.job-trigger”)。单击(函数(){
if($(this).parents(“节”).hasClass(“扩展”)){
//艾因卡彭
$(此).parents(“section”).addClass(“close”);
$(“section.expanded h3.job trigger.close”).removeClass(“close”);
$(“section.expanded div.job-trigger”).removeClass(“close”);
$(“section.expanded.close div.job-details”).slideUp();
$(此).parents(“部分”).removeClass(“扩展”).removeClass(“关闭”);
}否则{
//奥斯克拉彭
$(此).parents(“部分”).addClass(“扩展”);
$(“section.expanded h3.job trigger”).addClass(“close”);
$(“section.expanded div.job-trigger”).addClass(“close”);
$(“section.expanded div.job-details”).slideDown();
}
});
这个很好用。但是,当我尝试将这个jQuery脚本放入外部文件时,它就不再工作了
<script type="text/javascript" src="../scripts/scriptlibrary.js"></script>
这行不通。文件scriptlibrary.js包含两个jQuery脚本,它确实用(document).ready(function())围绕所有代码
到目前为止,我尝试的是:
1) 在内联使用jQuery脚本时,我没有(函数)。。。或者(document).ready(function()…并且脚本仍然有效。
当我添加(document).ready(function()…它将不再工作:)
2) 我还尝试将指向.js文件的链接放在网页底部,正如许多人所建议的那样,但问题仍然存在,没有任何效果
亲切问候,,
Milan正如我所看到的,你必须在WindowLoad上创建一个,因为DOM没有被加载。你是否尝试在你新创建的js文件中添加一个
console.log('pass')
,看看它是否能读到这个东西?我想你需要在你的索引页面中包含jquery.js库,从官方那里你在(文档)前面使用$
.ready(function()
?在浏览器控制台中引发了什么错误?@ProgrammingGeek jquery已经在页面中,它是第一个
标记。正如我看到的,您必须在WindowLoad上创建一个标记,因为DOM没有加载是的。您是否尝试添加控制台.log('pass'))
在您新创建的js文件中,查看它是否能够读取该内容?我认为您需要将jquery.js库包含在您的索引页中,该索引页位于$
前面的(文档)。就绪(函数()
?浏览器控制台中抛出了哪些错误?@ProgrammingGeek jquery已经在页面中,它是第一个
标记。