先贴上 JSFiddle 地址
http://jsfiddle.net/3KLhw/1/不知道为什么,在 JSFiddle 里面 positionMessage 函数没反应。我在本地用 Firefox 打开时文本能够动起来的。不过那个不重要,只是我用来参考的。
代码我顺便贴上来吧,因为我不知道 JSfiddle 上面的代码有没有被我搞错了。
html:
<div id = "div" style = "width: 100px;height:100px"></div>
JS:
window.onload = function(){
fadeAnimate();
}
function fade(e,t,d){
e.style.opacity = 1 - t/d;
t++;
var str = "fade('" + e + "'," + t + "," + d + ")";
if(t < d) {
anim = setTimeout(str,20);
}
}
function fadeAnimate() {
var div = document.getElementById("div");
div.style.opacity = 1;
div.onclick = function() {
fade(div,0,100);
}
}
我的目的是想做个动画效果,当鼠标单击 div 时 透明度随时间变化。但是这个函数不能按照我想的去执行。打开 firebug 显示 e.style is undefined . 这个我就不懂了,改了好久都没效果,一直有错误。
究竟是哪个地方出现了致命错误?顺便问下,setTimeout() 函数的参数为什么是这样的?我只知道 setTimeout() 第一个参数是代码,第二个参数是数值。这个 str 我是参考前面的那个函数的。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/100297
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.