错误提示:函数未定义(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();
}
------------------------------------------------------------------------------------------
不知道还有没有别的错误,大家帮我看一看,谢谢大家了! 展开
下面是代码
------------------------------------------------------------------------------------------
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();
}
------------------------------------------------------------------------------------------
不知道还有没有别的错误,大家帮我看一看,谢谢大家了! 展开
2个回答
展开全部
这是拷贝自哪里的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 吗?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询