Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 启用时脚本不起作用<;头>;_Javascript - Fatal编程技术网

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>