2017-06-19 52 views
-3

代码在HTML文件中完美运行,但在PHP文件中使用时,JavaScript似乎是唯一失败的东西。有谁知道一个原因为什么?Javascript在HTML中工作,但不在PHP中

这段代码应该在经过一定时间后出现鼠标移动。如果用户移动他们的鼠标,则将.fadeOut();.但是,如果用户不移动鼠标,则会在几秒钟后重定向到另一个网址。

<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> 
+7

F12,控制台。什么是错误? – mkaatman

+2

您应该做一些正确的代码缩进,以使您的代码更具可读性并且更易于遵循。 –

+2

“PHP文件中使用”是什么意思?这里没有php代码。你如何将PHP添加到这个文件或者什么样的PHP代码使用这个代码来产生输出。 – Zefiryn

回答

-1

你必须明白,JavaScriptphp在服务器通常执行通常是在用户的浏览器执行。

但是,如果要在php文件中嵌入JavaScript,则仍可以在最后一个?>php标记之后执行此操作。

+1

OP不要求运行JS代码_in_ PHP。请再看看这个问题。 –

2

既然你加载你的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> 

此外,你错过了你的函数右括号。

+0

这样做直到第一个“$('#showdiv')。fadeOut();”。我只注意到这个奇怪的大括号,因为它仍然以.html格式工作。它似乎还没有捕捉鼠标移动。 – Ihateusernames

+0

控制台中的任何东西? –

+0

F12控制台中没有显示任何内容。它似乎完全忽略了JavaScript代码。编辑:我注意到最后的“_delay = setInterval(delayCheck,900)”缺少一个“;”但那并没有解决问题。 – Ihateusernames

相关问题