解决方案 »
- ExtJS 文件下载问题
- !!求正则表达式!高分求一去重复数字串的正则表达式,在线等;请高手帮忙;
- 求助:隐藏div问题
- prototype中的 IE:!!(window.attachEvent && !window.opera) 中的!! 是什么意思。
- 在打开页面编辑模式下怎样改变鼠标的形状
- 谁知道SOHU首页地址栏的图标是怎么搞上的?
- JavaScript 里面如何实现IE右键菜单“目标另存为”的功能?
- 关于MSDN导航栏小滚动条的问题!!!(讨论)
- 怎样在<input type=button >上显示图片(在线等待)
- 写了一个PWA, 欢迎建议
- 到底是自己没销毁,还是闭包中被保存一份
- 鼠标点击过快时,效果冲突
fn.ax1()是在循环前就已经调用了,而且只调用了一次,此时的topx=a1=50,返回并赋值给fnx。。
代码执行到fnx=fn.ax1()时你的ax1方法if条件不满足,是没有返回值的,所以得到的才是undefined,你后面的interver调用并没有给fnx再次赋值,所以它一直都是没有值的
另外你想要实现文本的移动的吧
document.getElementById("live1").style.top=a1+"px"
fn.ax1()是在循环前就已经调用了,而且只调用了一次,此时的a1=50,按照你的逻辑并不执行topx=a1;return topx,fnx自然是默认返回值undefined。。
var a1,b1,fn,fnx,topx;
if(parseInt(top1)==50){
a1=50;
b1=639;
}
var udx1=function(){
if(a1<b1){
a1++;
console.log(a1);
document.getElementById("live1").style.top=a1;
if(a1==639){
return a1;
}
}
}
while(!topx){
topx = udx1();
}
alert(topx);这是你要的效果吧。。
这个。。JS没有异步这一说。因为JS是单线程的。。setTimeout与setInterval是把函数放到队列最末端