为什么我的setInterval用不出效果,求帮助。

2012-07-11 10:28:11 +08:00
 uoryon
var fadeYellow = function fade(){
this.style.backgroundColor = "rgb(255, 255, 0) ";
var cColor = 0;
var button = this;
clearInterval(timer);
var timer = setInterval(function () {
cColor +=25;
button.style.backgroundColor = "rgb(255, 255, " + cColor +")";
cColor >=255 && clearInterval(timer);
},10000);
}
3046 次点击
所在节点    问与答
12 条回复
aveline
2012-07-11 10:34:50 +08:00
Error
line: 3
message: "'undefined' is not an object (evaluating 'this.style.backgroundColor = "rgb(255, 255, 0) "')"
sourceId: 4502439400
__proto__: Error
uoryon
2012-07-11 10:37:50 +08:00
@aveline 啊。。我把这个作为一个东西的点击事件。。
aveline
2012-07-11 10:40:52 +08:00
用document.getElementById('东西的id')代替this试试?
uoryon
2012-07-11 10:42:09 +08:00
@aveline 调试的时候我看了this的值,我还让一个button等于它,应该是对的。。
aveline
2012-07-11 10:57:05 +08:00
开Console看看?
uoryon
2012-07-11 10:58:02 +08:00
@aveline 看了。。。
aveline
2012-07-11 11:01:08 +08:00
@uoryon 加我Gtalk a@loli.vg 或者QQ 12@34.la 说吧。。
Hyperion
2012-07-11 11:16:34 +08:00
@uoryon 那个this指向的是window啊, 怎么可能对呢...

把this作为参数传进fadeyellow啊.
uoryon
2012-07-15 09:44:42 +08:00
@aveline
@Hyperion 谢各位大神了。我搞定了。。是html里面那个a写错了,那href的值,我写成空的。。
Hyperion
2012-07-15 13:06:24 +08:00
@uoryon ...你是怎么绑的事件? javascript:xxxx;void(0);?
bengle
2012-07-15 13:35:13 +08:00
还是preventDefault()吧,比较保险。
uoryon
2012-07-15 15:45:21 +08:00
@Hyperion 嗯,我现在是这样绑。但是听说这样有点不好?求解释。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/42047

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX