2013-12-11 26 views
-1

任何一個人看到,當我到達這條線什麼不順心......爲什麼控制檯返回「TypeError:newIndustry爲null」?

newIndustry.innerHTML = industryNews[generateRandomNumber()-1] 
} 

這裏是我的代碼JS(我只是刪除文本中的H1與#industryNews

var industryNews = []; 
industryNews[0] = "Lorem ipsum dolor <strong>sit</strong> amet, consectetur adipisicing elit. Optio, ut, maxime, eum, fugit dolor nulla cupiditate beatae sapiente dignissimos accusamus cumque fuga alias accusantium praesentium nisi placeat quam ad eius."; 
industryNews[1] = "Lorem ipsum dolor <strong>sit</strong> amet, consectetur adipisicing elit. Provident, consequuntur, officia veritatis molestias odio nobis minima iste id tenetur possimus magni nisi error enim minus aperiam? Minus, iure delectus cumque."; 
industryNews[2] = "Lorem ipsum dolor <strong>sit</strong> amet, consectetur adipisicing elit. Sint, in, qui voluptatibus voluptas inventore recusandae non quos adipisci dolor beatae dolore saepe quaerat exercitationem dolores delectus quo pariatur. Quae, quidem."; 
industryNews[3] = "Lorem ipsum dolor <strong>sit</strong> amet, consectetur adipisicing elit. Assumenda, sed, laborum, quisquam rerum quo non aspernatur necessitatibus soluta id debitis impedit corporis magnam praesentium ab odit dicta aperiam autem consequuntur!"; 

var newIndustry = document.getElementById("industryNews"); 

// generate a # between 1 &4 
function generateRandomNumber(){ 
    return Math.floor(Math.random()*(4)+1); 
} 

function updateindustryNews() { 
    // var interval = generateRandomNumber(); 
    newIndustry.innerHTML = industryNews[generateRandomNumber()-1] 
} 

updateindustryNews(); 

setInterval(updateindustryNews,4000); 
+4

當腳本執行時,你有'id =「industryNews」'元素嗎? – Amadan

+1

http://ctec.clark.edu/~h.nelson5/ctec126/project/final/ – user2822565

+2

你爲什麼要發佈一個鏈接?回答@ Amadan的問題怎麼樣? –

回答

1

在HTML存在之前,您不能在頁面上使用document.getElementById()。所以,腳本標籤必須位於身體的底部或頭部。如果在你的腦海中,你必須使用onload這是一個window的財產,這是隱含的。

此外,無關你的問題,但Math.random()返回0到0.9之間的數字重複,從來沒有1,所以

function generateRandomNumber(){ 
    return Math.floor(Math.random()*(4)+1); 
} 

是一個跛腳的公式,因爲Math.floor(0.99999*4+1) = 4應該是:

function generateRandomNumber(){ 
    return Math.floor(Math.random()*4); 
} 

現在你不必-1。

+0

我把這個功能放在了一個載入中,就是這樣!非常感謝!說實話我很傻;我應該更清楚地知道。學過的知識。 – user2822565

+0

我很高興你告訴我如何改進我的generateRandomNumber函數。非常感謝! – user2822565