为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Smart猫小萌 2023-04-01 18:14:05
下面是代码------------------------------------------------------------------------------------------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();}------------------------------------------------------------------------------------------
查看完整描述

1 回答

?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

仔细看了代码, 函数$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();


查看完整回答
反对 回复 2023-04-03
  • 1 回答
  • 0 关注
  • 78 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信