亚马逊左侧菜单延迟z三角 jquery插件jquery.menu-aim.js源码解读

关于亚马逊的左侧菜单延迟,之前一直不知道它的实现原理。梦神提到了z三角,我也不知道这是什么东西。13号那天很有空,等领导们签字完我就可以走了。下午的时候,找到了一篇博客:http://jayuh.com/amazon-site-navigation/

它提到亚马逊左侧菜单的秘密在于它有一个三角形的缓冲延迟区域。

当鼠标在这个蓝色范围内移动时,会有延迟,所以右侧的二级菜单才不会马上变化。

顺着博客在github找到了这个插件:https://github.com/jayuh/jQuery-menu-aim

来看下源码:

插件的结构很简单,在jquery原型上扩展了menuAim方法,而menuAim在内部是通过call调用了init方法。

具体就来看init方法中都写了些什么?

现在我们来看possiblyActivate方法:

activationDelay方法是整个插件中最重要的,就是它来决定左侧菜单是延迟还是立即响应、我们分段来看,首先四个坐标点:

画一个图来表示tolerance的作用:

if (lastDelayLoc &&
loc.x == lastDelayLoc.x && loc.y == lastDelayLoc.y) {
console.log(11);
return 0;
}

如图所示:

用一张图来表示上面代码干了些什么:色三角形表示根据当前坐标画出来的三角形范围,色三角形表示根据之前坐标画出来的三角形范围:

需要注意的一点是, decreasingSlope和prevDecreasingSlope它们计算出来的结果是负值。因为decreasingCorner是在右上角,y值最小。

在init方法的最底部,是添加的一些事件绑定:

到此为止。这是我对这个插件的理解,不过梦神也提到亚马逊的z三角实现的过于麻烦了,我不知道他的实现方法是怎么样子的,等问到了再补充^^

时间: 2024-10-02 15:20:05

亚马逊左侧菜单延迟z三角 jquery插件jquery.menu-aim.js源码解读的相关文章

仿亚马逊左侧导航(精心设计的人机交互)

Demo:http://7li.github.io/jquery/jQuery-menu/index.html Source:https://github.com/7LI/7li.github.io/tree/master/jquery/jQuery-menu 如图:用户在左侧导航栏上有可能进行两种操作: 切换导航标签 把鼠标从标签移入右侧内容 判断用户是在进行何种操作的依据是用户的鼠标轨迹,如果鼠标经过绿色区域,则很有可能进行的是2的操作,否则则肯定是进行1的操作. 所以我们要做的处理是:在用

jquery:提取亚马逊网站的dropdown下拉菜单

上面是亚马逊网站的下拉导航菜单,类似于天猫和京东商城.精心开发5年的UI前端框架! 鼠标移上去的效果反应非常迅速,事实上做过这种效果的人都应该知道,一般要做到如此快速的效果,当你从左侧移到右侧的时候是会出问题的.大多数dropdown菜单在鼠标移到菜单项并显示子菜单的时候,都会有一定的延迟效果,下面是old Khan Academy网站的一个例子: 看到那延迟效果了没?其实你是需要这个延迟的,不管是代码上还是审美上,如果没有这个延迟,你从主菜单移到子菜单的瞬间,子菜单会消失掉.这会让用户觉得心里

手把手教你用亚马逊云搭建免费VPN服务器

第一步 注册亚马逊云(已注册直接进入第二步) 开始前需要准备好:有外币支付功能的信用卡一张(注册需要,不扣钱).Email地址.电话(手机更方便一些) 访问 http://aws.amazon.com/ 点击Sign Up按钮进入Sign In or Create an AWS Account页面 填入E-mail地址 单击I'm a new user单选框 单击Sign in using our secure server按钮进入Login Credentials页面 My name is后面

远景能源如何搞定美国的第一个客户?亚马逊AWS你一定知道底细吧

提到能源企业,你脑海里最先浮现的影像是什么?笨重的设备.恶劣的现场操作环境--这都是老黄历了.记者在与远景能源IT总监龚迅交流后发现,虽然远景能源是目前国内装机量最大的智能风机设备提供商之一,传统的风机研发和制造业务仍占据相当重要的地位,但远景能源最擅长的还是风场的全生命周期监控和管理.从业务思路.IT建设.对云服务的理解和使用等角度来衡量,远景能源更像是一家能源领域的互联网公司. 远景能源位于美国硅谷,其全球数字能源创新中心总裁是原思科公司的高管,员工平时工作中可自由地使用云服务,其风电系统的

亚马逊拟斥资15亿美元建航空货运中心 - Amazon to spend $1.49 bln on air cargo hub, fans talk of bigger ambitions - ReutersFebruary 1, 2017

2月1日消息,亚马逊本周二宣布将在肯塔基州开建其第一个航空货运中心,以应对高速增长的航空货运需求.亚马逊预计,该项目将带来2000个工作岗位. 据悉,该项计划总投入约为15亿美元,亚马逊或可从当地政府获得4000万美元的税收激励.但亚马逊方面尚未透露项目的相关文件审批进度.值得一提的是,全世界最大的物流中转中心UPS世界港以及FedEx最大的包裹分检中心均在肯塔基州境内. 有知情人士表示,亚马逊的这一措施将减少其对UPS和FedEx等传统货运巨头的依赖,未来有望成为他们的直接竞争对手. 去年,亚

在亚马逊做店铺的经验谈:少做产品,做精产品才是正道

从2001年开始,除了宣传自己是最大的网络零售商外,亚马逊同时把“最以客户为中心的公司”(the world‘s most customer-centric company)确立为努力的目标.此后,打造以客户为中心的服务型企业成为了亚马逊的发展方向.为此,亚马逊从2001年开始大规模推广第三方开放平台(marketplace).2002年推出网络服务(AWS).2005年推出Prime服务.2007年开始向第三方卖家提供外包物流服务 Fulfillment by Amazon(FBA).2010

亚马逊中国耳机巨头Jabra官方旗舰店上线

日前,亚马逊中国(Z.cn)宣布,全球无线技术顶级领导品牌 Jabra (捷波朗)官方旗舰店正式上线,产品品类涵盖蓝牙耳机.音乐耳机.无线音箱和车载系列产品.Jabra 旗舰店上线伊始便汇集了 60 多款包括捷波朗洛奇无线运动耳机.捷波朗迷你和捷波朗酷丽蓝牙耳机.捷波朗易行蓝牙耳机.捷波朗魔音盒迷你蓝牙音箱等众多 Jabra 的热销明星商品.未来旗舰店也会同步首发新品,近日亚马逊还推出一系列促销活动.

亚马逊为什么能吞噬世界?贝索斯有这么一种独特的战略思维

虎嗅注:亚马逊当下态势让人想到<孙子兵法>里的四个字:"风林火山",意为"其疾如风,其徐如林,侵掠如火,不动如山."然而亚马逊是何以做到的?除了坚持投资长期,还有什么独特的战略思维? 这里有篇文章或可一读. 本文主要编译自Techcrunch网站上的文章<亚马逊为什么能吞噬世界>,编译者是微信公号小饭桌.编译者在介绍里说,"作者Zack Kantar曾是一个汽车零配件制造商,既为亚马逊供货,又是其平台上的第三方卖家,他对亚马逊做了长

体验云计算的成果----亚马逊免费云计算服务

云计算是近期几年来讨论比較火的话题.就在前几年绝大部分人对云计算还是没信心.只是这些年.经过业界的大佬们,技术牛人们的努力,如今云计算以及衍生出来的一些云计算服务逐渐成型. 全球很多公司也相继的推出了直接的云计算服务.当然了差点儿比較厉害的云计算公司都是国外的.略微的了解下全球的云计算公司,国外的:亚马逊(本blog要说的就是怎么使用亚马逊免费云计算服务)是全球云计算公司最成熟的,最顶尖的:VMware公司.我想对以VMware绝大多数程序猿都是很熟悉的,就是用来安装虚拟机的虚拟软件.这公司曾经