2017-06-19 24 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

相關問題