android 横向滚动 导航,仿今日头条横向滚动导航栏--原生js

这篇博客介绍如何使用原生JavaScript实现Android应用中仿今日头条的横向滚动导航栏。通过鼠标按下、移动和松开事件,计算并改变导航元素的位置,实现平滑的水平滚动效果。同时,当滚动超出范围时,还会自动回弹。
摘要由CSDN通过智能技术生成

咳咳!先打一波小广告,在上一篇里忘记了,那啥……我的那个个人博客做好了-->(我的博客)

好嘞,言归正传,说说我们的效果。

其实就是实现横向滑动,进行选择。

原理:

鼠标按下,获取当前鼠标坐标,作为起始坐标;

鼠标移动,获取坐标,与起始坐标进行一系列的数学运算;

给 left 赋值,改变位置;

移动过多,超过时进行处理。

function scrollTabX() {

let nav = document.getElementById("nav");

let navs = document.getElementsByTagName("li");

let navbar = document.getElementsByClassName("navbar")[0];

let left = nav.style.left; // ul 距离左边的距离

let totalWidth = 0; // 总宽度

let minusValue = 0; // 设备宽度与总宽度的差值

left = left ? left : 0; // 初始时 ul 距离左边 0px

// 获取所有 li 所占用的宽度

for (let i = 0; i < navs.length; i++) totalWidth += navs[i].offsetWidth;

// 固定 ul 的宽度

nav.style.w

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值