gpt4 book ai didi

javascript - 在 JS 中创建动态变量和函数

转载 作者:行者123 更新时间:2023-11-28 10:16:40 25 4
gpt4 key购买 nike

我对 JS 相当陌生,但熟悉 AS2(Flash)。在 Flash 中,我可以将变量放入影片剪辑(对象)中,并尝试使用下拉菜单执行类似的操作:

http://tamalecreative.com.au/korban/scripts/dropdown.js

具体来说:

   function dropOpen() {
dropClose(this)
this.overTrue = true;
console.log(this.overTrue);
myNum = 0;
this.liLength = ($(this).find('ul').children().length)+1;
for (i=0;i<=this.liLength;i++) {
this.animateTimer = window.setTimeout(animateIn, (80 * i), this);
}
};

我的问题是“this.overTrue” bool 变量。它似乎适用于除 IE 之外的所有操作系统。我收到错误消息,对象“overTrue”不存在。这对我来说是有意义的,因为我从未声明过。有没有办法让我在“this”内声明变量“overTrue”?或者我是否以完全错误的方式处理这个问题?

提前致谢

最佳答案

似乎 IE 搞砸了最后一个参数,可能的解决方法可能是:

var that = this;
this.animateTimer = window.setTimeout(function() {
animateIn(that);
}, (80 * i));

在每个“正常”的浏览器中,setTimeout 签名如下:

window.setTimeout(func, delay, [param1, param2, ...]);

但是在 IE 中,签名是 slightly different :

window.setTimeout(vCode, iMilliSeconds [, sLanguage])

Bravo IE。你又一次让我大吃一惊

关于javascript - 在 JS 中创建动态变量和函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6475165/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com