javascript - 导航栏如何默认选中?如何根据当前页面浏览位置,导航栏自动选中?
迷茫
迷茫 2017-04-11 11:22:44
[JavaScript讨论组]

如题所言,需要刚进网页时是导航栏默认选中某项,然后随着网页的拖动,导航栏根据浏览内容来进行相应的选中状态。

导航栏html代码如下:

<ul class="nav_bar">
                <li><a href="#header" >首页</a></li>  <!--默认-->
                <li><a href="#self">关于我们</a></li>
                <li><a href="#product">产品</a></li>
                <li><a href="#team">团队</a></li>
            </ul>

要怎么实现呢?
补充:
1、没用bootstrap;
2、我这边是一个长网页,不是多个页面,需要根据当前浏览内容的不同来进行导航栏的自动选中;
3、初始默认选中怎么实现。
(今儿有bug,上传图片一直失败)
我的想法:
判断浏览内容的id来进行识别,并进行选中。

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(5)
阿神

寫了個簡陋版的,主要是預先儲存每個區塊的觸發高度和其對應的導航,監聽 scroll 事件,在遍歷去比對 (這也是為什麼預先儲存的關係,不然每次都要進行 Dom 操作消耗太大),取得小於目前捲軸位置最後那個,並且給對應的導航添加 active class

CodePen

怪我咯

谢邀,但是这问题不好回答。

拖动的时候顺便切换选中状态就行了,具体代码没法儿说,不知道你是怎么个拖动法儿。

天蓬老师

如果我没猜错的话你用的是bootstrap,你可以在每块页面内容后加一段js,设置li标签的className='active'<li id="xxx"X> <script type="text/JavaScript">document.getElementById('xxx').className='active'</script>

PHPz

你可以看看 Bootstrap 的 滚动监听

高洛峰

怎么个拖法啊?是滚动吗?是的话可以试试监听滚动事件,获取滚动高度,到达一定高度对导航栏自动选中。ps:可能会有性能问题,可以用定时器限制下代码的执行周期。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号