各位仁兄,函数内局部变量赋值给全局变量不成功,如何解决?
<span id=live1 style=position:absolute;left:250px;top:50px;width:109px; height:15px>这个文本</span>
<script language=JavaScript>
top1=document.getElementById("live1").style.top
var a1,b1,fn,fnx,topx
if(parseInt(top1)==50){a1=50;b1=639}
udx1=function(){
if(a1<b1){a1++;document.getElementById("live1").style.top=a1}
this.ax1=function(){if(a1==639){topx=a1;return topx}}
}
fn=new udx1
fnx=fn.ax1()
setInterval("udx1()",1)
</script>
-----------------------------------------
请教各位仁兄,为何fnx这个全局变量不能获取udx1函数内部的局部变量a1的值?fnx的值要为639才正确。如何解决?
------解决方案--------------------变量是肯定能访问到的
代码执行到fnx=fn.ax1()时你的ax1方法if条件不满足,是没有返回值的,所以得到的才是undefined,你后面的interver调用并没有给fnx再次赋值,所以它一直都是没有值的
另外你想要实现文本的移动的吧
document.getElementById("live1").style.top=a1+"px"
------解决方案--------------------
------解决方案--------------------