用jq实现简单的锚点切换
想了半天 还是没有取好名字,这是一个蛮难形容的效果,不过现在的很多门户网站都会有这样的效果。
![](/assets/blank.gif)
scroll() 方法触发 scroll 事件,或规定当发生 scroll 事件时运行的函数。
2.scrollTop()
如果该方法未设置参数,则返回以像素计的相对滚动条顶部的偏移。
3.offset()
该方法返回的对象包含两个整型属性:top 和 left,以像素计。此方法只对可见元素有效。
1 var top_Arr =[]; 2 varAbout_main= $(".About_main") 3 //将所需的区域对应的Class插入jq选择器队列中,并通过each遍历到数组中 4 $(".About_main,.About_main1").each(function(){ 5 top_Arr.push($(this)) 6 })
![](/assets/blank.gif)
1 <divclass="About_nav"> 2 <divclass="tab1"> 3 <ul> 4 <liclass="slt"><imgclass="sanjiao"style="bottom:0; left:78px;"src="data:images/sanjiao.png"/><astyle="background-position:18px-26px;">公司简介</a></li> 5 <li><imgclass="sanjiao"style="bottom:0; left:261px;"src="data:images/sanjiao.png"/><astyle="background-position:-32px0;">发展历程</a></li> 6 <li><imgclass="sanjiao"style="bottom:0; left:444px;"src="data:images/sanjiao.png"/><astyle="background-position:-136px0;">团队风采</a></li> 7 <li><imgclass="sanjiao"style="bottom:0; left:627px;"src="data:images/sanjiao.png"/><astyle="background-position:-80px0;">领导关怀</a></li> 8 </ul> 9 </div> 10 </div>
1 $(window).scroll(function(){ 2 About_main.each(function(i){ 3 //将对应区域距离页面头部的距离 保存到一个变量中 4 var sss =($(this).offset().top)-200, 5 //滚动条已滚动的距离 6 winST = $(window).scrollTop(), 7 //判断当前页面是否处于某个区域中 8 inArea = sss < winST && winST <(sss + $(this).height()); 9 if(inArea){ 10 //移除所有高亮class 11 $(".tab1 li.slt").removeClass("slt") 12 //将所有指示牌图标改为为红色背景 13 $(".tab1 li a").position_y(0) 14 //将区域对应的指示牌图标变为白色背景 并且添加高亮class 15 $(".tab1 li").eq(i).addClass("slt").find("a").position_y(-26) 16 } 17 }) 18 })
1 $.fn.extend({ 2 position_x:function(x){ 3 var _this = $(this) 4 _this.each(function(){ 5 var y = $(this).css("background-position").split('px')[1] 6 $(this).css("background-position", x +"px"+ y +"px") 7 }) 8 return _this 9 }, 10 position_y:function(y){ 11 var _this = $(this) 12 _this.each(function(){ 13 var x = $(this).css("background-position").split('px')[0] 14 $(this).css("background-position", x +"px "+ y +"px") 15 }) 16 return _this 17 } 18 })
1 $(".tab1 li").click(function(){ 2 var index = $(this).index() 3 $('body,html').animate({ scrollTop: top_Arr[index].offset().top -100},800); 4 })
![](/assets/blank.gif)
转载于:https://www.cnblogs.com/cydiacen/p/5458857.html
用jq实现简单的锚点切换相关推荐
- php js多语言切换,php简单实现多语言切换的方法_php技巧
本文实例讲述了php简单实现多语言切换的方法.分享给大家供大家参考,具体如下: 1.主程序代码: $value){ if($_SESSION["language"] == $val ...
- dw在php图片滑动切换效果,超简单的图片左右切换滑动
网上看过很多图片左右切换滑动的效果,不过大都是使用插件实现.插件虽方便,但是对于新手的学习并不是最好的.本文使用jquery这个由原生的JavaScript封装的库,用最简短的代码实现此功能 效果预览 ...
- 网课脚本教程 【基础】(3) 使用 jq 制作简单脚本
欢迎来到系列教程 :网课脚本编写教程 目录 为什么使用jq? 制作简单脚本 找到任意一个登陆界面 使用 键盘的 F12 审查元素 点击审查箭头 鼠标移动到 手机号和密码的输入框 编写自动化脚本 为什么 ...
- Unity Shader 之 实现简单的动态过场切换图片的效果
Unity Shader 之 实现简单的动态过场切换图片的效果 目录 Unity Shader 之 实现简单的动态过场切换图片的效果 一.简单介绍
- 使用jq简单实现导航栏切换对应展现内容
js代码部分$('.nav_menu_ul>li').click(function () { //点击导航栏var index = $(this).index() //获取导航栏的下标 $(&q ...
- 编程练习--简单实用的选项卡切换效果
有网友私信我,说我前几篇写编程练习的例子让他们感觉我写代码的方式和他们不一样,让他们很受启发,希望我多写一些这样的例子.他们帮我总结了一下,主要表现在以下三个方面: 1. 代码外观整洁清爽. 2.喜欢 ...
- 《Python+Kivy(App开发)从入门到实践》自学笔记:简单UX部件——ToggleButton切换按钮
章节知识点总揽 4.8 ToggleButton切换按钮 ToggleButton的作用与复选框类似,当我们接触或点击它时,他会在'normal'或'down'两种状态之间来回切换.ToggleBut ...
- scrollIntoView()实现简单的锚点定位
综述 锚点定位是一个再熟悉不过的操作了,通常会用a标签href=#XX去实现,不过这样做,有一个问题,就是页面会有刷新感,而且地址栏会有变化,F5刷新,则#XXX还是显示在地址栏里,这样如果要进一步进 ...
- uniapp实现简单的锚点定位
直接使用scroll-view的scroll-into-view属性就可以实现锚点效果,比较方便简单.那么需要用到scroll-view那些参数呢,下面具体讲讲: scroll-x | scroll- ...
最新文章
- 三万字,Spark学习笔记
- 基于PSR-0编码规范开发一套PHP-MVC框架(一)
- SpringMVC的Controller方法返回值
- 并发的发展历史-线程的出现
- HttpClientFactory 使用说明 及 对 HttpClient 的回顾和对比
- 4月5G手机出货量出炉:5G未成主流,你换机了吗?
- 计算机科学技术基础c,计算机科学技术基础.ppt
- Linux shell 中的那些你值得一试的小把戏
- PCB特征阻抗计算工具——Polar SI9000软件下载与安装教程
- 互联网推广有几种途径呢?
- Alfred效率神器
- python计算相关性显著性p值_基于python如何实现计算两组数据P值
- python一键合并excel表格
- macbook pro 2017版电池问题,八九十的电,用着忽然关机,再开机提示充电才行。
- Unity线程与协程
- 美团后台开发一面算法题
- 候鸟防关联浏览器原理
- 计算机操作系统观后感,试用Deepin深度操作系统有感
- 如何检测磁石玩具的磁通量指数
- 2023年 PCB产业危机,全面价格战恐将开启