跪求路过的大哥大嫂帮忙看一看,一个if语句没有反应??

地平线tec 2016-01-26 04:20:01
function movestyle(element,x0,y0,interval) //定义函数一,将一个图片从当前位置(x,y)移动到指定位置(x0,y0)
{ x=parseInt(element.style.left);
y=parseInt(element.style.top);
if(x!=x0) {element.style.left=x0+'px';}
if(y>y0) {y--;}
if(y<y0) {y++;}
element.style.top=y+'px';
mm=setTimeout(function(){movestyle(element,x0,y0,interval);},interval);
if(x==10&&y==0) //如果图片达到指定位置(10,0),则执行函数二movestyle_1,这个if语句可以正常执行
{movestyle_1(img_zan,10,400,1);}
}
function movestyle_1(element,x1,y1,interval) //定义函数二,将这个图片从(x0,y0)移动到指定位置(x1,y1)
{ element.style.left=x1+'px';
if(y>y1) {y--;}
if(y<y1) {y++;}
element.style.top=y+'px';
mm=setTimeout(function(){movestyle_1(element,x1,y1,interval);},interval);
}
movestyle(img_zan,10,0,1); //将所谓的指定位置(x0,y0)设置为(10,0)
if(x==10&&y==0) //如果将前面的if语句放在这里,就不会被执行??不知道为什么???
{movestyle_1(img_zan,10,400,1);}

for(var i=0;i<10;i++)
{movestyle(img_zan,10,0,1);}//我想循环执行movestyle函数十次,为什么也没有反应???
...全文
148 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
地平线tec 2016-01-27
  • 打赏
  • 举报
回复
其实我是想先让图片从当前位置(x,y)移动到指定位置(x0,y0),如果 图片达到指定位置(x0,y0),则执行函数二movestyle_1,从而将这个图片从(x0,y0)移动到指定位置(x1,y1),问题是我将这个if语句到底放在外面好,还是嵌套在函数一里面,逻辑上两个应该都可以,但是只有嵌套在函数一餐能正常执行者连个连贯的动作,这才我不理解的地方??
小小农民 2016-01-27
  • 打赏
  • 举报
回复
看错了,,,,,
小小农民 2016-01-27
  • 打赏
  • 举报
回复
movestyle(img_zan,10,0,1); 后面好像多了个分号。。。。
hch126163 2016-01-27
  • 打赏
  • 举报
回复
楼主要做什么,先把自己的逻辑理清楚。 程序和你想象的不一样,如果js 没报错,就是逻辑问题。 可以单步调试!!! mm=setTimeout(function(){movestyle(element,x0,y0,interval);},interval); if(x==10&&y==0) //如果图片达到指定位置(10,0),则执行函数二movestyle_1,这个if语句可以正常执行 {movestyle_1(img_zan,10,400,1);} 当 x==10 &&y==0 时 movestyle_1(img_zan,10,400,1) 会这执行 再执行 movestyle(element,x0,y0,interval); 这是你需要的逻辑? for(var i=0;i<10;i++) {movestyle(img_zan,10,0,1);} 只要js 没错误,程序肯定会执行10次! 你可以用 console.log 或者单步调试来验证

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧