Javascript 启用时脚本不起作用<;头>;
我验证了剧本。它的工作,但在外部。 我不擅长写剧本。也许这是个简单的问题Javascript 启用时脚本不起作用<;头>;,javascript,Javascript,我验证了剧本。它的工作,但在外部。 我不擅长写剧本。也许这是个简单的问题 <head> <script src="http://code.jquery.com/jquery-1.5.js" type="text/javascript"></script> <script src="http://0rochymugen.ucoz.com/scriptbestsite.js" type="text/javascript"></script>
<head>
<script src="http://code.jquery.com/jquery-1.5.js" type="text/javascript"></script>
<script src="http://0rochymugen.ucoz.com/scriptbestsite.js" type="text/javascript"></script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
当我把剧本放在头上的时候。简单地说,不起作用。在某些情况下,如果您试图对页面上的项目进行操作,如果您在页面其余部分完成加载之前加载并执行javascript,则会出现错误和/或您的代码似乎无法工作 这就是建议将指向javascript文件的链接放在页面底部的原因之一 另一个好的实践是仅在文档完成加载时运行,在jQuery中,通常使用以下语法完成:
$(document).ready(function(){
// Your javascript
}
我认为您的代码不起作用,因为文档准备就绪时您没有运行它:
$(document).ready(function(){
$('#img1').mouseover(function () {
$('#p1').show("slow");
});
$("#p1").hover(function () {
$("#p1").hide("slow");
});
$("#img2").mouseover(function () {
$('#p2').show("slow");
});
$("#p2").hover(function () {
$("#p2").hide("slow");
});
$("#img3").mouseover(function () {
$('#p3').show("slow");
});
$("#p3").hover(function () {
$("#p3").hide("slow");
});
$("#img4").mouseover(function () {
$('#p4').show("slow");
});
$("#p4").hover(function () {
$("#p4").hide("slow");
});
$("#img5").mouseover(function () {
$('#p5').show("slow");
});
$("#p5").hover(function () {
$("#p5").hide("slow");
});
});
您还可以将两个函数传递给悬停处理程序,以处理mouseover和mouseout事件。我想这会把你的代码缩短一点 问题是您引用的元素,还不存在 为了在使用它们之前确保它们存在,您必须将其相关代码放入
$(document.ready
)中。所以你有:
$(document).ready(function(){ //This ensures DOM elements are loaded
$('#img1').mouseover(function () {
$('#p1').show("slow");
});
$("#p1").hover(function () {
$("#p1").hide("slow");
});
});
但是,如果无法更改该js文件,要添加document.ready,可以动态加载脚本,如下所示:
<head>
...
<script type="text/javascript">
$(document).ready(function(){
$.getScript("http://0rochymugen.ucoz.com/scriptbestsite.js");
});
</script>
...
</head>
...
$(文档).ready(函数(){
$.getScript(“http://0rochymugen.ucoz.com/scriptbestsite.js");
});
...
js脚本(通常)不必出现在标题中,但这是一个很好的做法。但是,出于性能原因,其他人更喜欢将其放在页面底部。
希望这能有所帮助。它是如何失败的?什么不起作用?请补充更多细节这应该行得通,似乎没什么问题。添加更多细节。顺便说一句,内容类型头应该在顶部,也许你应该把代码包装成$(document).ready(function(){…})代码>否则它可能会在DOM完全加载之前执行?@Pekka:头部中的元素是否有特定的顺序?我一直在想this@qwertymk没有真正定义的顺序,但字符集规范应该放在第一位,因为它可能会导致文档中的更改(字符呈现方式不同)。是的,请尝试将您的
标记放在结束
标记的正下方。我明白了,但是,我没有其他可能性了?我真的希望我的页面被检查为“通过”验证器。@A3R-查看我的更新。在执行javascript之前,您可以等待文档加载。@A3R-我发布了一个不需要更改.js文件的解决方案是的,很高兴知道这一点。那个页的底部不好。如果你想被接受为验证器;)。tnx。
<head>
...
<script type="text/javascript">
$(document).ready(function(){
$.getScript("http://0rochymugen.ucoz.com/scriptbestsite.js");
});
</script>
...
</head>