首页 > 该怎么理解让在jq里,有些菜单的定位计算完毕后,以后再点击就不要重复计算?

该怎么理解让在jq里,有些菜单的定位计算完毕后,以后再点击就不要重复计算?

比如这个效果,每次点击按钮会计算每个粉色小方框的位置,然后原作者加了一个var isLocated = false;
然后在尾部又加了一个isLocated = true;避免了每次点击重新计算的问题,节省计算机性能。
但是问题来了,var isLocated = false;和isLocated = true;都是写在$('.nav-wrap').on('click','.main-nav',function(e)里面的,所以每次点击时,还是会把isLocated 重置为false,那么每次还是会重新计算粉色小方框的位置额。我这么理解对吗?

代码在这里
http://jsbin.com/fexarulodu/1/edit?html,css,js,output


看了下,你这个重置的理解是对的。作者加这个isLocated是不能让他避免重复计算的。要想让他不重复计算,必须把isLocated声明在绑定的事件响应函数之外(当然,这一点儿,我想你是知道的)。至于作者,为什么这么写,也许不是为了避免重复计算,而是出于别的考虑,我就不得而知了。
学东西,敢于质疑是好事,加油

【热门文章】
【热门文章】