Javascript TypeError:null不是对象(计算';文档.getElementById(x).style';)

Javascript TypeError:null不是对象(计算';文档.getElementById(x).style';),javascript,jquery,html,css,typeerror,Javascript,Jquery,Html,Css,Typeerror,我希望我的javascript做什么: function getPosition(x){ $('#canvas_container').mouseover(function(){ timer = setInterval(function() { var xPos = document.getElementById(x).style.left; var yPos = document.getElementById(x).style.top;

我希望我的javascript做什么:

function getPosition(x){   
    $('#canvas_container').mouseover(function(){
    timer =  setInterval(function() {
      var xPos = document.getElementById(x).style.left;
      var yPos = document.getElementById(x).style.top;
      document.getElementById(x+'_fieldX').placeholder = xPos;
      document.getElementById(x+'_fieldY').placeholder = yPos;
    }, 10); }
我有一个div,其中包含一个“onmouseover='getPosition(x)”,当我按下某个按钮时,它会被添加到我的javascript中,也会被删除。函数“getPosition()”始终在尚未删除div时运行,以便它始终获取并更新div的位置,并在文本字段占位符中显示其x和y位置


注意:


如果你认为我的问题是由愚蠢的错误引起的,我很抱歉。我对Javascript真的很陌生,我希望你能理解并乐于帮助我

在javascript中,删除div时,还必须使用以下代码行停止计时器:

clearInterval(timer);  

我的建议是删除计时器,因为在javascript中不需要它来实现您想要做的事情

,删除div时,还必须使用以下代码行停止计时器:

clearInterval(timer);  

我的建议是删除计时器,因为你不需要它来实现你想做的事情

看看
unbind()
为什么你有这个
$(“#canvas\u container”).mouseover(function(){
在你想要的getPosition函数中
clearInterval(计时器)
,它永远不会停止运行,直到一次清除。函数会因为间隔而保持运行,因此我目前认为最聪明的方法是清除间隔(计时器)以及解除鼠标悬停事件的绑定,因为如果只删除事件侦听器,计时器间隔在任何情况下都将永远运行,除非您清除它。有没有机会得到一个演示小提琴来进一步帮助您?看看
unbind()
为什么有这个
$('#canvas_container')。鼠标悬停(函数(){
在你的getPosition函数中你想要
clearInterval(timer)
,它永远不会停止运行,直到一个clearInterval(timer)函数因为间隔而继续运行,所以我目前认为最聪明的方法是清除间隔(timer)以及解除鼠标悬停事件的绑定,因为如果您只删除事件侦听器,计时器间隔在任何情况下都将永远运行,除非您清除它。有机会获得演示小提琴来进一步帮助您吗?