2017-06-19 62 views
-3

コードはHTMLファイルで完璧に動作しますが、PHPファイルで使用するとJavaScriptが唯一失敗するようです。なぜ誰が理由を知っていますか?JavascriptはHTMLでは動作しますが、PHPでは動作しません

このコードは、マウスを動かして一定時間後に表示されることが想定されています。ユーザーがマウスを動かすと、.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> 
+7

F12、コンソール。エラーは何ですか? – mkaatman

+2

あなたのコードをより読みやすくて使いやすくするために、適切なコードインデントを行う必要があります。 –

+2

「PHPファイルで使用される」とはどういう意味ですか?ここにPHPコードはありません。どのようにこのファイルにphpを追加するのですか?また、このコードをどのようなPHPコードで出力しますか? – Zefiryn

答えて

-1

phpは通常、サーバーで実行されている間JavaScriptは通常、ユーザーのブラウザで実行されていることを理解しています。あなたは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

関連する問題