js监听滚动条滚动事件使得某个标签内容始终位于同一位置


Posted in Javascript onJanuary 24, 2014

小知识点,废话不多说,直接上代码

css:

<pre name="code" class="css"><style> 
#anchor:{ 
position:absulate; 
top:40%; 
left:40%; 
width:100px; 
height:100px; 
background-color:red; 
} 
</style></pre><br>

js:
<pre name="code" class="javascript">var auchorTop = $("#anchor").css("top"); 
auchorTop = Number(auchorTop.substring(0, anchorTop.indexOf("p"))); //首先在监听器外部记录某id=anchor的标签的初始位置 
window.onscroll = function () { 
var top = document.documentElement.scrollTop || document.body.scrollTop; 
$("#anchor").css("top", anchorTop + top + "px"); 
};</pre>

html:
<div id="anchor"></div>

在window.onscroll上即可添加滚动条滚动事件,在监听函数中的top=document.documentElement.scrollTop||document.body.scrollTop;之所以这么写,就是避免不同浏览器的兼容性,这里我测试了chrom和ff浏览器,前者支持document.body.scrollTop这个属性,后者支持另一个属性,因此可以用‘||'符号糅合这两个属性,兼容不同浏览器。anchorTop就是目标的开始与浏览器顶部的距离,这里还需要注意的是'#anchor‘这个标签的position:absulate,否则top属性值总是是0px。

当滚动条滚动时,top值变化,随后将'#anchor'的初始top值加上滚动条的top值,即可保持内容始终处于同一位置。

Javascript 相关文章推荐
js定义对象或数组直接量时各浏览器对多余逗号的处理(json)
Mar 05 Javascript
javaScript矢量图表库-gRaphael几行代码实现精美的条形图/饼图/点图/曲线图
Jan 09 Javascript
Bootstrap 3 进度条的实现
Feb 22 Javascript
jQuery插件HighCharts绘制的2D堆柱状图效果示例【附demo源码下载】
Mar 14 Javascript
layui弹出层效果实现代码
May 19 Javascript
angular.js + require.js构建模块化单页面应用的方法步骤
Jul 19 Javascript
20170918 前端开发周报之JS前端开发必看
Sep 18 Javascript
vue cli webpack中使用sass的方法
Feb 24 Javascript
微信小程序项目实践之主页tab选项实现
Jul 18 Javascript
微信小程序有旋转动画效果的音乐组件实例代码
Aug 22 Javascript
微信小程序 授权登录详解(附完整源码)
Aug 23 Javascript
JavaScript嵌入百度地图API的最详细方法
Apr 16 Javascript
js利用事件的阻止冒泡实现点击空白模态框的隐藏
Jan 24 #Javascript
JS实现点击链接取消跳转效果的方法
Jan 24 #Javascript
js关于字符长度限制的问题示例探讨
Jan 24 #Javascript
JS方法调用括号的问题探讨
Jan 24 #Javascript
Array栈方法和队列方法的特点说明
Jan 24 #Javascript
js sort 二维数组排序的用法小结
Jan 24 #Javascript
js二维数组排序的简单示例代码
Jan 24 #Javascript
You might like
简单实用的.net DataTable导出Execl
2013/10/28 PHP
php的api数据接口书写实例(推荐)
2016/09/22 PHP
PHP数组内存利用率低和弱类型详细解读
2017/08/10 PHP
php文件包含的几种方式总结
2019/09/19 PHP
Thinkphp5.0 框架Model模型简单用法分析
2019/10/11 PHP
用jquery等比例控制图片宽高的具体实现
2014/01/28 Javascript
Jquery实现$.fn.extend和$.extend函数
2016/04/14 Javascript
jQuery控制文本框只能输入数字和字母及使用方法
2016/05/26 Javascript
js控件Kindeditor实现图片自动上传功能
2020/07/20 Javascript
Javascript类型系统之String字符串类型详解
2016/06/21 Javascript
JS+DIV实现的卷帘效果示例
2017/03/22 Javascript
JS和JQuery实现雪花飘落效果
2017/11/30 jQuery
jQuery实现获取选中复选框的值实例详解
2018/06/28 jQuery
angular.js实现列表orderby排序的方法
2018/10/02 Javascript
vue 右键菜单插件 简单、可扩展、样式自定义的右键菜单
2018/11/29 Javascript
微信小程序用canvas画图并分享
2020/03/09 Javascript
解决vue单页面多个组件嵌套监听浏览器窗口变化问题
2020/07/30 Javascript
Python中用pycurl监控http响应时间脚本分享
2015/02/02 Python
python数字图像处理之高级形态学处理
2018/04/27 Python
django将数组传递给前台模板的方法
2019/08/06 Python
Python3操作Excel文件(读写)的简单实例
2019/09/02 Python
使用tensorboard可视化loss和acc的实例
2020/01/21 Python
详解Pytorch显存动态分配规律探索
2020/11/17 Python
使用Python快速打开一个百万行级别的超大Excel文件的方法
2021/03/02 Python
西班牙家用电器和电子产品购物网站:Mi Electro
2019/02/25 全球购物
庆八一活动方案
2014/01/25 职场文书
文明寄语大全
2014/04/11 职场文书
小学课外活动总结
2014/07/09 职场文书
公证委托书标准格式
2014/09/11 职场文书
2016元旦晚会主持词
2015/07/01 职场文书
大学入学感言
2015/08/01 职场文书
导游词之南京夫子庙
2019/12/09 职场文书
python requests模块的使用示例
2021/04/07 Python
关于使用Redisson订阅数问题
2022/01/18 Redis
python接口测试返回数据为字典取值方式
2022/02/12 Python
根德5570型九灯四波段立体声收音机是电子管收音机的楷模 ? 再论5570
2022/04/05 无线电