呈现出 超出屏幕的导航栏选项隐藏 通过鼠标拖拽导航栏进行滑动的一个效果
<div id="leng"> <!-- <div id="psns" > --> <header> <strong onclick="sqbs()" class="nav">全部订单</strong> <p onclick="wfkn()" class="nav">未付款</p> <p onclick="yfk()" class="nav">已付款</p> <p onclick="yfsh()" class="nav">已发货</p> <p onclick="ydsy()" class="nav">已收货</p> <p class="nav">已评价</p> <p class="nav">退款中</p> <p class="nav">已退款</p> <p onclick="qsxs()" class="nav">已取消</p> </header> <!-- </div> --> </div>
html结构这样写也没毛病,用uli标签也可以实现 全部用div也可以实现,看自己爱好吧
样式自己喜欢什么样的就什么搞
header { width: 100%; overflow: hidden; white-space: nowrap; overflow-x: scroll; } header::-webkit-scrollbar { display: none; } .nav { display: inline-block; margin-left: 15px; margin-right: 10px; height: 50px; line-height: 50px; }
clsss命名可选中多个设置样式 给header加入隐藏加上不换行
下面是js部分
$(function() { $(".nav").on("click", function(ev) { var moveX = $(this).position().left + $(this).parent().scrollLeft(); var pageX = document.documentElement.clientWidth; var blockWidth = $(this).width(); console.log(moveX) console.log(pageX); console.log(blockWidth); var left = moveX - (pageX / 2) + (blockWidth / 2); console.log(left); $(this).css("color", "white").siblings().css("color", "#808970"); $("header").scrollLeft(left); }); });
在这里呢我写了给所有p标签加了点击事件,点击那个p标签就变成白色,之后呢可以对响应的点击事件显示相应的内容,当你看到这你已经会了,奥里给哥们