错误提示:函数未定义(Javascript、Js、Html)

以下是错误图片下面是代码-------------------------------------------------------------------------... 以下是错误图片

下面是代码
------------------------------------------------------------------------------------------
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();
}
------------------------------------------------------------------------------------------
不知道还有没有别的错误,大家帮我看一看,谢谢大家了!
展开
 我来答
Andy_Sun321
2013-08-13 · TA获得超过1376个赞
知道小有建树答主
回答量:811
采纳率:89%
帮助的人:726万
展开全部

这是拷贝自哪里的JavaScript代码?

仔细看了代码, 函数$Body是写在了函数createWavePlane中了, 这样一来$BODY最多只能算一个"局部函数"(借用局部变量的概念), 而setInterval函数的一个参数是一个JavaScript执行脚本, 从调用来看$BODY必须是一个"全局函数", 故会有$BODY未定义的错误.

另外, setInterval中应写成函数调用形式$BODY(), 这样函数才会得到执行(没有括号函数是不会被执行的).

 

看了此代码好像是要实现一个类似"类"的功能, 一般JavaScript中的"类"这样写:

function ClassA() {
    this.className = "ClassA";   // 用this.xxx做为类成员的访问定义
    this.method1();    // 调用类的"实例方法"

}

// 用类名.prototype = {}来定义类的各种"实例方法"
ClassA.prototype = {
    method1: function() {
        window.alert("You call method1");
    },    // 各方法间用逗号分隔
    method2: function() {
        window.alert("You call method2");
    }
}
// 用类名.静态方法 = function()定义静态方法
ClassA.staticMethod = function() {
    window.alert("call static method");
}

// 这样来调用静态方法:
ClassA.staticMethod();
// 这样定义"类的实例", 并调用类实例方法
var ins = new ClassA();
ins.method2();
追问
这个是自己写,见笑了。刚才把 $BODY 放在 createWavePlane 外运行了一下,确实能运行了,但是还没实现我要的效果,下面自己改了。谢谢了!
能加QQ 2307650983 吗?
xixuyishi
2013-08-13 · 超过27用户采纳过TA的回答
知道答主
回答量:81
采纳率:100%
帮助的人:76.2万
展开全部
看不出来,为什么不运行试试
追问
就是运行之后提示 $BODY 函数未定义。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式