如何触发此Javascript函数 var IE=文档。全部?真:假 if(!IE)document.captureEvents(Event.MOUSEMOVE) document.onmousemove=getMousePos; //用于固定鼠标x-y位置的临时变量 var-tempX=30; var tempY=30; 函数getMousePos(e){ 如果(IE){//如果浏览器是IE,则抓取x-y位置 tempX=event.clientX+document.body.scrollLeft tempY=event.clientY+document.body.scrollTop }否则{//如果浏览器为NS,则抓取x-y位置 tempX=e.pageX tempY=e.pageY } //捕捉/纠正负值 如果(tempX

如何触发此Javascript函数 var IE=文档。全部?真:假 if(!IE)document.captureEvents(Event.MOUSEMOVE) document.onmousemove=getMousePos; //用于固定鼠标x-y位置的临时变量 var-tempX=30; var tempY=30; 函数getMousePos(e){ 如果(IE){//如果浏览器是IE,则抓取x-y位置 tempX=event.clientX+document.body.scrollLeft tempY=event.clientY+document.body.scrollTop }否则{//如果浏览器为NS,则抓取x-y位置 tempX=e.pageX tempY=e.pageY } //捕捉/纠正负值 如果(tempX,javascript,Javascript,我在hotscript和code升降机找到了这段代码,它来自一个旧线程,但我相信它已经达到了我需要达到的目标。我想在鼠标Y位置小于30时执行一个函数 我是一个编程初学者,希望我能慢慢从这里的示例中学习 我的问题是,为什么没有触发警报命令?我错过了什么。我做了一个简单的按钮来调用它工作的函数 <script type="text/javascript"> var IE = document.all?true:false if (!IE) document.captureEvents(E

我在hotscript和code升降机找到了这段代码,它来自一个旧线程,但我相信它已经达到了我需要达到的目标。我想在鼠标Y位置小于30时执行一个函数

我是一个编程初学者,希望我能慢慢从这里的示例中学习

我的问题是,为什么没有触发警报命令?我错过了什么。我做了一个简单的按钮来调用它工作的函数

<script type="text/javascript">
var IE = document.all?true:false
if (!IE) document.captureEvents(Event.MOUSEMOVE)
document.onmousemove = getMousePos;
// Temporary variables to hold mouse x-y pos.s
var tempX = 30;
var tempY = 30;

function getMousePos(e) {
  if (IE) { // grab the x-y pos.s if browser is IE
    tempX = event.clientX + document.body.scrollLeft
    tempY = event.clientY + document.body.scrollTop
  } else {  // grab the x-y pos.s if browser is NS
    tempX = e.pageX
    tempY = e.pageY
  }  
  // catch/correct negative values 
  if (tempX < 0){tempX = 0}
  if (tempY < 0){tempY = 0}  

  // show the position values in the form
  document.MouseDisplay.MouseX.value = tempX;
  document.MouseDisplay.MouseY.value = tempY;
  return true;
}

// execute function
if (tempY < 30) {
 alert('tempY is found to be less than 30');
}

</script>

函数myFunction(){
警报(“发现温度低于30”);
}

尚未尝试您的代码,但假设它在鼠标移动时起作用,要查看您的警报,只需在函数中移动该行即可:

<script type="text/javascript">
function myFunction() {
alert('tempY is found to be less than 30');
}
</script>
var IE=document.all?真:假
if(!IE)document.captureEvents(Event.MOUSEMOVE)
document.onmousemove=getMousePos;
//用于固定鼠标x-y位置的临时变量
var-tempX=30;
var tempY=30;
函数getMousePos(e){
如果(IE){//如果浏览器是IE,则抓取x-y位置
tempX=event.clientX+document.body.scrollLeft
tempY=event.clientY+document.body.scrollTop
}否则{//如果浏览器为NS,则抓取x-y位置
tempX=e.pageX
tempY=e.pageY
}  
//捕捉/纠正负值
如果(tempX<0){tempX=0}
如果(tempY<0){tempY=0}
//在表单中显示位置值
document.MouseDisplay.MouseX.value=tempX;
document.MouseDisplay.MouseY.value=tempY;
//执行函数
如果(温度<30){
警报(“发现温度低于30”);
}
返回true;
}

更好的解决方案是在屏幕顶部安装一个固定元素,30px高,并在其上设置一个
onmouseover
处理程序。在该示例中,您的警报将永远不会触发,如果tempY小于30,则在加载时检查一次,因为您在顶部将其设置为30。当您在mousemove中显示
警报时,请注意,这非常烦人,在调试过程中,您会一个接一个地收到这些警报,虽然在您的情况下有点不同,但仍然如此。既然您表示自己是初学者,我建议您尝试一些更简单的代码。另一方面,你的代码非常糟糕。我建议大家放轻松,从一些行之有效的概念开始,而不是从一些随机网站上找到的脚本开始。@dombenoit我想我们有点误解了。我只希望根据鼠标在页面上的位置,而不是在页面加载时,当tempY小于30时触发警报。如果我将其临时值设置为小于30,则会在每次加载页面时触发警报。嘿,它成功了!!我最初尝试过这种方式,但低于“回报”。多谢了,多姆贝诺。我不知道这有很大的区别,但我必须了解更多关于“回归”的知识。仍然没有得到它的用途。很高兴能提供帮助,就返回而言,它只是让函数返回一个值,这是可选的。
var IE = document.all?true:false
if (!IE) document.captureEvents(Event.MOUSEMOVE)
document.onmousemove = getMousePos;
// Temporary variables to hold mouse x-y pos.s
var tempX = 30;
var tempY = 30;

    function getMousePos(e) {
      if (IE) { // grab the x-y pos.s if browser is IE
        tempX = event.clientX + document.body.scrollLeft
        tempY = event.clientY + document.body.scrollTop
      } else {  // grab the x-y pos.s if browser is NS
        tempX = e.pageX
        tempY = e.pageY
      }  
      // catch/correct negative values 
      if (tempX < 0){tempX = 0}
      if (tempY < 0){tempY = 0}  

      // show the position values in the form
      document.MouseDisplay.MouseX.value = tempX;
      document.MouseDisplay.MouseY.value = tempY;

      // execute function
      if (tempY < 30) {
       alert('tempY is found to be less than 30');
      }
      return true;
    }