1
binux 2014-02-15 00:09:39 +08:00 1
LZ的JS哪学的?
|
2
serenader OP @binux 额,不小心又按错 感谢 了。。是自学的,现在还在努力啃 JavaScript 高级程序设计 中。。
|
3
serenader OP 问题已经解决了。感谢有回复的和有过来看一下的V友。
|
4
sneezry 2014-02-15 00:22:52 +08:00 1
你的fade函数中,setTimeout是以字符串的形式调用的自身,但是这样的话你想想e是不是就丢失了,所以可以改成匿名函数的形式:
fadeAnimate(); } function fade(e,t,d){ e.style.opacity = 1 - t/d; t++; if(t < d) { anim = setTimeout(function(){ function fade(e,t,d); },20); } } |
5
sneezry 2014-02-15 00:25:12 +08:00
fadeAnimate函数中的fade(div,0,100);改成fade(this,0,100);更妥当一些感觉
|
6
serenader OP @sneezry 感谢回复。你的回答解决了我对 setTimeout 的疑问。我刚刚试了一下匿名函数,结果可以运行。不过也还要修改其他代码,
fade(e,t,d){ var element = document.getElementById("e"); element.style.opacity = 1 - t/d; ... } 这样整个程序才能如愿运行。 |
7
serenader OP @sneezry 说错了,刚刚脑袋一片混乱。按照你说的用匿名函数的话,一切都可以了。不用再修改其他东西了。
感谢您半夜三更帮我看这烂代码啊! |
8
exoticknight 2014-02-15 01:21:45 +08:00
foo: function( arg1, arg2,speed ) {
if (.....) { // 判断结束条件 return; } else { setTimeout( function() {self.foo( arg1, arg2 )}, speed ); } } 我写跟setTimeout有关的函数的时候基本都是这样的结构,个人经验权当参考…… |
10
serenader OP @exoticknight 感谢回复!确实是setTimeout函数的问题,写成匿名函数之后就可以了。
|
11
serenader OP @RIcter 额,本人才疏学浅,JS也是刚学不久,肯定还有很多写得不好的。还望各位大神指出毛病。
一楼是想表达我写得很糟糕的意思吧?若是这样的话麻烦各位指出错误。 |
13
zzNucker 2014-02-15 18:26:51 +08:00
其实setTimeout可以传参数的。
|