2 回答

TA貢獻1891條經驗 獲得超3個贊
Uncaught TypeError: Cannot set property 'innerHTML' of null at index.html:15"。這意味著它沒有找到您要獲取的元素。console.log( document.getElementById('sample'));
用于檢查輸出...如果確實找不到該元素,然后仔細檢查你的 html id。我看到的一個可能的錯誤是你有 2 個相同的 id?!氨尘啊辈粦摪l生

TA貢獻1836條經驗 獲得超13個贊
這是因為這部分:
if (jump_count < 20){
//This willchange the background to be 'field.png'
document.getElementById('background').innerHTML = "html{background-color:black;animation:day_cycle 180s linear infinite;}.background{background:url('test.png') repeat-x;height:100%;width:3050px;animation:slide 3s linear infinite;}@keyframes slide{0%{transform:translate3d(0, 0, 0);}100%{transform:translate3d(-1600px, 0, 0);}}@keyframes day_cycle{0% {background-color:#0063fd;}15% {background-color:orange;}30% {background-color:red;}45% {background-color:#4B0082;}60% {background-color:red;}75% {background-color:orange;}100% {background-color:#0062fd;}}";
} else if (jump_count > 20 && jump_count < 40){
document.getElementById('background').innerHTML = "html{background-color:black;animation:day_cycle 180s linear infinite;}.background{background:url('field.png') repeat-x;height:100%;width:3050px;animation:slide 3s linear infinite;}@keyframes slide{0%{transform:translate3d(0, 0, 0);}100%{transform:translate3d(-1600px, 0, 0);}}@keyframes day_cycle{0% {background-color:#0063fd;}15% {background-color:orange;}30% {background-color:red;}45% {background-color:#4B0082;}60% {background-color:red;}75% {background-color:orange;}100% {background-color:#0062fd;}}";
} else {
//Nothing happens
}
腳本的那部分沒有包含在函數中,因此它會立即執行。由于腳本標簽位于頭部內部,因此它無需等待頁面準備好即可執行。所以該background元素還不存在。
您可以將該部分放在頁面ready事件的處理程序中,但最簡單的做法是將整個script標簽移動到正文的末尾。
添加回答
舉報