2016-02-05 102 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