2015-12-01 104 views
0

該代碼用於滑塊切換圖像。當我運行的頁面我得到這個錯誤:document.getElementById由於未知原因返回null

Cannot set property 'onclick' of null.

HTML:

<!DOCTYPE html> 
    <html lang="en"> 
    <head> 
<meta charset="UTF-8"> 
<title>Image Slider</title> 
<link rel="stylesheet" type="text/css" href="sliderswag.css"> 
<script language="javascript" type="text/javascript" src="imgslidescript.js"></script> 
</head> 
<body> 
<div id="box"> 
    <img id="main" src="http://lmetar.com/oscar1.jpg"> 
    <img id="left" src="http://lmetar.com/left.png"> 
    <img id="right" src="http://lmetar.com/right.png"> 
</div> 

的JavaScript:

document.getElementById('left').onclick = slideChange; 
document.getElementById('right').onclick = slideChange; 
var slideNumber = 0; 
function slideChange() 
{ 
    slideNumber += 1; 
    if (slideNumber > 3) 
    { 
     slideNumber = 1; 
    } 
    else 
    { 
     document.getElementById('main').src = 'http://lmetar.com/oscar' + slideNumber + '.jpg'; 
    } 
} 
+0

這可能意味着您的JS正在DOM加載之前執行。將代碼包裝在DOM加載的回調中,或者將'

0

您的JavaScript正在載入內容之前,因此它正在嘗試查找不存在的元素。你有兩個選擇:

  1. 將您<script>標籤到您的網頁
  2. 使用的結束下面要等到你執行你的腳本之前已加載網頁

代碼:

document.addEventListener("DOMContentLoaded", function(event) { 
    // Your Code Here 
});