js 锚点联动 回调渲染改变a标签 定位 滚动 导航
来源:互联网 发布:郑州seo公司hncxnet 编辑:程序博客网 时间:2024/06/05 00:47
本文出自:
http://blog.csdn.net/wyk304443164
直接放代码,道理很简单应该看得懂
/** * Created by wuyakun on 2017/7/11. */var head_footer = {};head_footer.reSetM = function () { //锚点 #id var thisId = window.location.hash; var allA = $('#m_select > li').find('a'); for (var i = 0; i < allA.length; i++) { $(allA[i]).removeClass('select'); } switch (thisId) { case '#m-manager': $(allA[1]).addClass('select'); break; case '#m-project': $(allA[2]).addClass('select'); break; case '#m-client': $(allA[3]).addClass('select'); break; default: $(allA[0]).addClass('select'); break; }};head_footer.allViewSize = [{ id: '#m-banner'}, { id: '#m-manager'}, { id: '#m-project'}, { id: '#m-client'}];//获得每个View的高度跟坐标head_footer.reGetAllViewSize = function () { for (var i = 0; i < head_footer.allViewSize.length; i++) { var obj = head_footer.allViewSize[i]; obj.min = $(obj.id).position().top; obj.max = $(obj.id).position().top + $(obj.id).height(); }};$(document).ready(function () { //设置锚点选中 // head_footer.reSetM(); //开始监听地址栏 $(window).bind('hashchange', function () { // head_footer.reSetM(); }); head_footer.reGetAllViewSize(); //resize $(window).resize(function () { head_footer.reGetAllViewSize(); }); //开始监听滑动 $(window).scroll(function () { //为页面添加页面滚动监听事件 var wst = $(window).scrollTop(); //滚动条距离顶端值 // console.log(wst); // console.log(head_footer.allViewSize); for (var i = 0; i < head_footer.allViewSize.length; i++) { var obj = head_footer.allViewSize[i]; if (wst >= obj.min && wst < obj.max) { var allA = $('#m_select > li').find('a'); if ($(allA[i]).hasClass("select")) { return; } //开始判断选中 for (var j = 0; j < allA.length; j++) { $(allA[j]).removeClass('select'); } $(allA[i]).addClass('select'); } } })});
原本是通过监听地址栏改变,来修改导航的,后来测试需要在滚动的时候自动选中导航,于是修改成了下面那样。
阅读全文
0 0
- js 锚点联动 回调渲染改变a标签 定位 滚动 导航
- a标签锚点定位
- html中a标签锚点定位的运用
- a标签有关用法以及锚点定位;
- js锚点定位
- js锚点定位
- <a>标签锚点
- <jQuery>导航的滚动锚点
- jquery浮动定位层导航描点上下滚动的浮动导航
- 导航定位(利用锚点和jquery定位)
- html中<a>标签的使用方法 设置锚点导航.发邮件.打电话......
- jQuery锚点滚动js
- js 模仿锚点定位
- js 锚点平滑定位
- js 控制锚点定位
- jQuery滚动顶部定位导航
- js特效子导航不随滚动条滚动而改变
- 定义锚点,点击a标签跳转到相应的版块,使页面滚动产生效果
- MySQL查询优化
- 微信聊天机器人、Python、中文词云
- 数学中的各类曲线函数
- Java开发者写SQL时常犯的10个错误
- MYSQL 对null和空字符串正序排序靠前的解决方法
- js 锚点联动 回调渲染改变a标签 定位 滚动 导航
- 获取Enum枚举值描述的几法方法
- jsp简介
- HDU3371 Connect the Cities 题解 【图论】【最小生成树】
- maven学习:Eclipse中安装与配置
- 51系列中data,idata,xdata,pdata的区别
- Unity 3D input.GetAxis用法
- CoreData 基本使用(二)
- Maven