PHP 正在鼠标移动到窗口上执行 JavaScript.它循环在一个函数上.我怎样才能让它只执行一次


PHP is executing a javascript on mouse move over window. It's looping on a function. How can I make it execute only once?

基本上,我必须在JS上执行一个函数,该函数使用PHP中的变量。我遇到的问题是 JS 上的函数不断执行。我需要在鼠标移到页面上时执行该函数,这很好用,除了它不间断地循环执行。

我正在粘贴一个示例代码。关于如何使其仅执行一次JS函数的任何想法?任何帮助都会得到极大的赞赏,我不太擅长PHP和JS。

<?php 
function page()
{
echo 'test text';
}
//page()
?>
<html>
<head>
<title>onmousemove test</title>
<script type="text/javascript">
window.onmousemove = move;
function move() {
    alert("<?PHP page() ?>");
}
</script>
</head>

使用标志。 检查是否设置了标志,如果没有,则执行代码,然后设置标志。

var stop = false; //flag
function move(){
    if(stop) return; //is the flag true?
    alert("<?PHP page() ?>"); //it wasn't, so alert
    stop = true; //now set it to true so it doesn't fire again
}

不是不停地循环,只是在你移动鼠标时循环...... 您应该考虑window.onload,这会在页面加载完成后自动触发。 但是由于在这篇文章中您坚持 window.onmousemove ,您可以尝试以下操作:

triggered = false;
function move() {
  triggered = true;
  alert("<?php page(); ?>");
}
window.onmousemove = function(){ 
  if (triggered === false) move();
};

JSFiddle

(附言既然你知道,我就告诉你一些事情。 除了答案,你点击绿色复选标记,这给了我们双方的声誉)。