2016-02-05 98 views
1

有了非常基本的JavaScript知識,我構建了一個簡單的幻燈片(代碼如下)。它的工作原理,但示出的JSLint以下錯誤:JSLint錯誤:未聲明的'圖像',未聲明的'文檔',超出範圍

  • 未聲明的 '圖像' slideimages [0] =新的圖像();
  • 未聲明'setInterval' setInterval(myCounter,50);
  • 'myCounter'超出範圍 setInterval(myCounter,50);
  • 未聲明'文檔' document.getElementById('slide')。src = slideimages [step] .src;

我該如何解決這些問題,例如宣佈這些元素?

var slideimages = []; 

slideimages[0] = new Image(); 
slideimages[0].src = "http://placehold.it/350x150?text=Welcome"; 
slideimages[1] = new Image(); 
slideimages[1].src = "imgs/slide_1.png"; 
slideimages[2] = new Image(); 
slideimages[2].src = "imgs/slide_2.png"; 


var step = 0; 

var c = 0; 
var a = 0; 
setInterval(myCounter, 50); 
function myCounter() { 

    'use strict'; 

document.getElementById('slide').src = slideimages[step].src; 

    if ((c >= 0) && (c < 40)) { 
     c += 1; 
     a = c; 
     step = 1; 
document.getElementById("demo").innerHTML = a/100; 
document.getElementById("slide").style.opacity = a/40; 

    } else if ((c >= 40) && (c < 80)) { 

     c += 1; 
     a = c; 
document.getElementById("demo").innerHTML = a/100; 
document.getElementById("slide").style.opacity = 1; 

    } else if ((c >= 80) && (c < 100)) { 

     c += 1; 
     a = c; 
document.getElementById("demo").innerHTML = 1 - ((a - 80)/20); 
document.getElementById("slide").style.opacity = 1 - ((a - 80)/20); 

    } else if ((c >= 100) && (c < 140)) { 

     c += 1; 
     a = c; 
     step = 2; 
document.getElementById("demo").innerHTML = a/100; 
document.getElementById("slide").style.opacity = (a - 100)/40; 

    } else if ((c >= 140) && (c < 180)) { 

     c += 1; 
     a = c; 
document.getElementById("demo").innerHTML = a/100; 
document.getElementById("slide").style.opacity = 1; 

    } else if ((c >= 180) && (c < 200)) { 

     c += 1; 
     a = c; 
document.getElementById("demo").innerHTML = 1 - ((a - 180)/20); 
document.getElementById("slide").style.opacity = 1 - ((a - 180)/20); 

    } else { 
     c = 0; 
    } 
} 

回答

1

LSLint默認不允許瀏覽器相關的東西。因此,

Undeclared 'Image' slideimages[0] = new Image(); 
Undeclared 'setInterval' setInterval(myCounter, 50); 
Undeclared 'document' document.getElementById('slide').src =slideimages[step].src; 

看JSLint的選擇,並且在特殊assume browser