Javascript可以在HTML中工作,但不能在PHP中工作

Javascript可以在HTML中工作,但不能在PHP中工作,javascript,php,html,Javascript,Php,Html,代码在HTML文件中完美运行,但在PHP文件中使用javascript时,似乎是唯一失败的地方。有人知道原因吗 这段代码应该在一段时间后不移动鼠标的情况下显示。如果用户移动鼠标,将显示.fadeOut();。但是,如果用户不移动鼠标,则会在几秒钟后将其重定向到另一个url <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"&g

代码在HTML文件中完美运行,但在PHP文件中使用javascript时,似乎是唯一失败的地方。有人知道原因吗

这段代码应该在一段时间后不移动鼠标的情况下显示。如果用户移动鼠标,将显示.fadeOut();。但是,如果用户不移动鼠标,则会在几秒钟后将其重定向到另一个url

 <html>
 <head>

 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
 <script type="text/javascript">
 $('#showdiv').fadeOut();

 var timedelay = 1;
 function delayCheck()
 {
 if(timedelay > 5)
 {
 $('#showdiv').fadeIn();
     if(timedelay == 12)
         {
                window.location = "https://www.google.com";
         }  
 timedelay = timedelay+1;
 }

 $(document).mousemove(function() {
 $('#showdiv').fadeOut();
 timedelay = 1;
clearInterval(_delay);
 _delay = setInterval(delayCheck, 900);
 });
  // page loads starts delay timer
 _delay = setInterval(delayCheck, 900)

  </script>

  <style type="text/css">
 #showdiv{
 width: 450px;
 border-radius: 10px;
 padding: 50px;
 border: 2px double gray;
 position: absolute;
    top: 40%;
    left: 40%;
 }

 </style>

 </head>
 <body>
      <div id="showdiv">
          <h2>
             You will be redirected in a few second unless you move your mouse.
          </h2>
       </div>
 </body>

</html>

$('#showdiv').fadeOut();
var时间延迟=1;
函数延迟检查()
{
如果(延时>5)
{
$('#showdiv').fadeIn();
如果(时间延迟==12)
{
window.location=”https://www.google.com";
}  
延时=延时+1;
}
$(文档).mousemove(函数(){
$('#showdiv').fadeOut();
延时=1;
清除间隔(_延迟);
_延迟=设置间隔(延迟检查,900);
});
//页面加载启动延迟计时器
_延迟=设置间隔(延迟检查,900)
#showdiv{
宽度:450px;
边界半径:10px;
填充:50px;
边框:2倍双灰色;
位置:绝对位置;
最高:40%;
左:40%;
}
除非移动鼠标,否则您将在几秒钟内被重定向。

您必须了解,
JavaScript
通常在用户浏览器中执行,而
php
通常在服务器中执行


但是,如果您想在
php
文件中嵌入
JavaScript
,您仍然可以在最后一个
?>
php
标记之后进行嵌入。

因为您要在页面顶部加载jQuery函数,所以需要用一个支持文档的处理程序将它们包围起来:

<script type="text/javascript">
 $(document).ready(function() {
     $('#showdiv').fadeOut();
     var timedelay = 1;
     function delayCheck()
     {
         if(timedelay > 5)
         {
             $('#showdiv').fadeIn();
             if(timedelay == 12)
                {
                    window.location = "https://www.google.com";
                }  
            timedelay = timedelay+1;
         }
     } // closing the function
     $(document).mousemove(function() {
         $('#showdiv').fadeOut();
         timedelay = 1;
         clearInterval(_delay);
         _delay = setInterval(delayCheck, 900);
     });
     // page loads starts delay timer
     _delay = setInterval(delayCheck, 900)
 });
 </script>

$(文档).ready(函数(){
$('#showdiv').fadeOut();
var时间延迟=1;
函数延迟检查()
{
如果(延时>5)
{
$('#showdiv').fadeIn();
如果(时间延迟==12)
{
window.location=”https://www.google.com";
}  
延时=延时+1;
}
}//关闭函数
$(文档).mousemove(函数(){
$('#showdiv').fadeOut();
延时=1;
清除间隔(_延迟);
_延迟=设置间隔(延迟检查,900);
});
//页面加载启动延迟计时器
_延迟=设置间隔(延迟检查,900)
});

此外,您的函数缺少一个结束括号。

F12,console。有什么错误?您应该做一些适当的代码缩进,使代码更可读,更容易理解。您所说的“在PHP文件中使用”是什么意思?这里没有php代码。如何将php添加到此文件,或者什么类型的php代码使用此代码生成输出。您没有关闭函数。(您缺少最后一个
}
)。这是一个完美的例子,说明了正确的代码缩进会有多大帮助。我刚刚注意到缺少大括号,谢谢。当保存为.html文件时,它仍然有效。但是,它需要另存为.php文件。F12没有显示错误,它似乎忽略了我所有的javascript代码。OP没有要求在PHP中运行JS代码。请再看一遍这个问题。这在第一个“$('#showdiv').fadeOut();”之前一直有效。我刚刚注意到缺少的大括号,这很奇怪,因为它仍然以.html格式工作。它似乎仍然没有捕捉到鼠标移动。控制台中有任何内容吗?F12控制台中没有显示任何内容。它似乎完全忽略了javascript代码。编辑:我注意到上一个“\u delay=setInterval(delayCheck,900)”缺少一个“;”但这并没有解决问题。将代码减少到
console.log()
。或者只是减少到原来的淡入度。用几行简单的代码确保一切正常。