以下是错误图片,不知道还有没有别的错误,大家帮我看一看,谢谢大家了!


下面是代码
------------------------------------------------------------------------------------------
function createWavePlane($ID,$MAX,$WIDTH,$HEIGHT,$DELAY,$PICTUREARRAY){
//存放ID,个数,宽度,高度,图片数组
var $JUDGE=1;var $INDEX=1;var $TIME;
for(i=0;i<$MAX;i++){
var $MODLE=document.createElement("div");
$MODLE.id="$IDCHUNK"+i;
$MODLE.style.position="absolute";
$MODLE.style.top="0px";
$MODLE.style.left=$WIDTH*i;
$MODLE.style.width=$WIDTH;
$MODLE.style.height=$HEIGHT;
$MODLE.style.backgroundRepeat="no-repeat";
$MODLE.style.backgroundImage=$PICTUREARRAY[0];
$MODLE.style.backgroundSize=$WIDTH*$MAX+"px "+$HEIGHT+"px";
$MODLE.style.backgroundPosition=-($WIDTH*i)+"px 0px";
document.getElementById($ID).appendChild($MODLE);
}
//创建界面
function $BODY(){
alert("body");
document.getElementById("$IDCHUNK"+$JUDGE).style.backgroundImage=$PICTUREARRAY[$INDEX];
if($JUDGE==$MAX){
if($INDEX==$PICTUREARRAY.length){
$INDEX=0;
}
else{
$INDEX++;
}
$JUDGE=1;
clearInterval($TIME);
setTimeout("$START()",$DELAY);
}
else{
$JUDGE++;
}
}
//
function $START(){
$TIME=setInterval("$BODY",2000/$MAX);
}
//
$START();
}
------------------------------------------------------------------------------------------





Smart猫小萌
浏览 79回答 1
1回答

慕婉清6462132

仔细看了代码, 函数$Body是写在了函数createWavePlane中了, 这样一来$BODY最多只能算一个"局部函数"(借用局部变量的概念),&nbsp;而setInterval函数的一个参数是一个JavaScript执行脚本, 从调用来看$BODY必须是一个"全局函数", 故会有$BODY未定义的错误.另外, setInterval中应写成函数调用形式$BODY(), 这样函数才会得到执行(没有括号函数是不会被执行的).看了此代码好像是要实现一个类似"类"的功能, 一般JavaScript中的"类"这样写:function&nbsp;ClassA()&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;this.className&nbsp;=&nbsp;"ClassA";&nbsp;&nbsp;&nbsp;//&nbsp;用this.xxx做为类成员的访问定义&nbsp;&nbsp;&nbsp;&nbsp;this.method1();&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;调用类的"实例方法"&nbsp;}&nbsp;//&nbsp;用类名.prototype&nbsp;=&nbsp;{}来定义类的各种"实例方法"ClassA.prototype&nbsp;=&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;method1:&nbsp;function()&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;window.alert("You&nbsp;call&nbsp;method1");&nbsp;&nbsp;&nbsp;&nbsp;},&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;各方法间用逗号分隔&nbsp;&nbsp;&nbsp;&nbsp;method2:&nbsp;function()&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;window.alert("You&nbsp;call&nbsp;method2");&nbsp;&nbsp;&nbsp;&nbsp;}}//&nbsp;用类名.静态方法&nbsp;=&nbsp;function()定义静态方法ClassA.staticMethod&nbsp;=&nbsp;function()&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;window.alert("call&nbsp;static&nbsp;method");}&nbsp;//&nbsp;这样来调用静态方法:ClassA.staticMethod();//&nbsp;这样定义"类的实例",&nbsp;并调用类实例方法var&nbsp;ins&nbsp;=&nbsp;new&nbsp;ClassA();ins.method2();
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript