2017-02-16 86 views
0

我正在关注本教程https://www.youtube.com/watch?v=b4GwvdhrEQg&t=537s和5:13他的原型工程,但我的原型没有。我得到这个职位Uncaught TypeError:无法在window.onload处读取属性'addEventListener'null null

Uncaught TypeError: Cannot read property 'addEventListener' of null at window.onload (rico-beweeg-oog.html:29) window.onload @ rico-beweeg-oog.html:29

我无法找到任何代码问题或解决方案的标题解释了错误,我已经到处放置脚本代码,前后div元素之后,但它只是赢了”工作。

代码:

<!DOCTYPE HTML> 

<html> 
<head> 

<style> 
#rico { 
    width: 1280px; 
    height: 1060px; 
    overflow: hidden; 
    background-color: #efefef; 
    cursor: pointer; 

} 

#ricobox { 
    width: 75px; 
    height: 75px; 
    background-color: rgb(0,255,0); 
    border-radius: 50%; 
    border: 15px rgb(255,0,0) solid; 
    transform: translate3d(50px, 50px, 0); 
} 
</style> 

<script> 
window.onload = function() { 
var rico = document.getElementById('#ricobox'); 
var container = document.getElementById('#rico').addEventListener("click", klikPositie, false); 

alert(); 

function klikPositie(e) { 
    var xPosition = e.clientX; 
    var yPosition = e.clientY; 

    var translate3dValue = "translate3d(" + xPosition + "px," + yPosition + "px, o)"; 
    rico.style.transform = translate3dValue; 
} 
} 
</script> 

</head> 

<body> 

    <div id="rico"> 
     <div id="ricobox"></div> 
    </div> 

</body> 

</html> 
+0

使用'''document.getElementById('rico')'''和不带井号的document.getElementById('ricobox') – trebor

回答

0

你得到的错误,因为你的IDS实际上是ricobox波多黎各没有磅字符。

所以

var rico = document.getElementById('ricobox'); 
var container = document.getElementById('rico').addEventListener("click", klikPositie, false); 

应该工作。

你需要的,如果你正在使用jQuery例如$("#rico")是一样document.getElementById('rico')

工作fiddle

+0

谢谢,null对象的错误消失了!但是,当我点击rico div时,ricobox div不会像教程中那样移动。我错过了什么,我只是新的学习javascript –

+0

@ W.Romijn你有一个错字'var translate3dValue =“translate3d(”+ xPosition +“px,”+ yPosition +“px,0)”;'你已经写** o **而不是** 0 ** – trebor

+0

我从来没有注意到它!非常感谢你的人,它已经解决了! –

0
<script> 
window.onload = function() { 
var rico = document.getElementById('ricobox'); 
var container = document.getElementById('rico').addEventListener("click", klikPositie, false); 

alert(); 

function klikPositie(e) { 
    var xPosition = e.clientX; 
    var yPosition = e.clientY; 

    var translate3dValue = "translate3d(" + xPosition + "px," + yPosition + "px, 0px)"; 
    rico.style.transform = translate3dValue; 
} 
} 
</script> 

有上获取元素ID错误,您的translate3d

使用#字符