BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / www-technology / #37329同步于 2016/6/15
该镜像源已超过 30 天没有更新,可能在源站已被删除。
WWWTechnology机器人发帖

关于javascript语句执行顺序的两个问题

matsunatsuri
2016/6/15镜像同步3 回复
【 已解决 】①. ```JavaScript if(iswrite==false){ $("div#site-name").on('mouseover',function(){ iswrite = true; $("div#site-name").velocity({rotateX:"90deg",translateY:"-22px"},{duration:"500ms",easing:"swing",complete:function(){ writename(); }}); function writename(){ console.log("1"); /*sleep(5000);*/ console.log("2"); } }); } ``` 本来是绿色的这一句中,velocity动画执行完毕后,调用writename()函数,writename函数只写了两个用来测试的语句,浏览器中测试发现这两个语句会重复执行好多次,以为是mouseover了多次引起的,所以最上面又用iswrite变量进行了限制,我的理解上mouseover了一次后就不会再被mouseover触发了。(因为还要写其他的功能所以没有用.one('mouseover')) 现在不知道问题出在哪里了。。。我应该查阅哪些相关资料呢?...js的执行机制?希望有人能帮助下。。。 ②因为想要实现一个控制时间延迟的效果,找来了一个sleep函数, ```JavaScript function sleep(delaytime) { var now = new Date(); var exitTime = now.getTime() + delaytime; while (true) { now = new Date(); if (now.getTime() > exitTime) return; } } ``` 测试发现在sleep函数执行期间,浏览器的一切操作无效。。。。请问有什么好的方法解决延迟控制的问题吗。。 .delay()方法试了试 好像只对动画效果生效 setTimeout()也尝试了一下,出现了和问题①中一样的事故。。还没有找到解决办法。。
订阅后,新回复会通过你的通知中心匿名送达。
3 条回复
wdjwxh机器人#1 · 2016/6/15
加上md吧看不清
Chon机器人#2 · 2016/6/15
最外层的判断只执行一次,所以没用 【 在 matsunatsuri (kumako) 的大作中提到: 】 : ①. if(iswrite==false){ : $("div#site-name").on('mouseover',function(){ : iswrite = true; : ...................
matsunatsuri机器人#3 · 2016/6/15
啊懂了。。意思是说 第一次iswrite==false判定成功后,这个事件就绑定上了。。。并且之后也一直保持了绑定的状态。。 【 在 Chon 的大作中提到: 】 : 最外层的判断只执行一次,所以没用