鼠标跟随和导航云效果总结

导航云效果.gif

实现的是导航跟踪效果,随着鼠标动,鼠标移开回到原始起点

思考误区:
做导航的时候我以为还是利用鼠标的位置来确定目标位置,这个想法也是可以,但是会出现一个问题,鼠标的位置变化幅度很大,要求出目标位置despos需要

 despos = event.clientx -$("cloud-nav").offsetLeft-$("nav").offsetLeft;

这样做很麻烦,因为这个nav的左右都是有大小的,鼠标是根据屏幕的位置来定的,所以要用鼠标的位置减起来很复杂。
老师给出了一个好的思路

var navItems =$("navbar").children;
console.log(navItems.length);
for (var i = 0; i < navItems.length; i++) {
    avItems[i].onmouseover=function (argument) {
    console.log(this.offsetLeft);
    desXpos=this.offsetLeft;
    }
}

利用每个li标签的位置来确定目标位置,不是更清晰明显了。

  • 鼠标移开后回到原点

    $("navbar").onmouseout=function (argument) {
      desXpos=0;
    }
    

缓动公式是最重要的:当前位置=(目标位置-当前位置)/n+当前位置,
n相当与分的段数。

window.setInterval(function () {
currentPos=(desXpos-currentPos)/5+currentPos;
$("cloud-nav").style.left=currentPos+"px";
},100)

鼠标跟随效果

鼠标跟随效果.gif

相对简单就不说明了,原理一样

代码库

https://github.com/hejiahao/HTML-front

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值