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调试logger组件实现代码
Nov 20 Javascript
document.execCommand()的用法小结
Jan 08 Javascript
基于jquery实现复选框全选,反选,全不选等功能
Oct 16 Javascript
Bootstrap教程JS插件弹出框学习笔记分享
May 17 Javascript
浅谈JavaScript中数组的增删改查
Jun 20 Javascript
JavaScript基础之流程控制语句的用法
Aug 31 Javascript
js实现数组和对象的深浅拷贝
Sep 30 Javascript
使用vux实现上拉刷新功能遇到的坑
Feb 08 Javascript
浅析vue-router原理
Oct 19 Javascript
微信小程序 行的删除和增加操作实现详解
Sep 29 Javascript
Javascript实现鼠标移入方向感知
Jun 24 Javascript
解决vue-router的beforeRouteUpdate不能触发
Apr 14 Vue.js
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
解析使用ThinkPHP应该掌握的调试手段
2013/06/20 PHP
PHP实现爬虫爬取图片代码实例
2021/03/03 PHP
Jquery插件写法笔记整理
2012/09/06 Javascript
Jquery Ajax解析XML数据(同步及异步调用)简单实例
2014/02/12 Javascript
JS数组排序技巧汇总(冒泡、sort、快速、希尔等排序)
2015/11/24 Javascript
vue学习之mintui picker选择器实现省市二级联动示例
2017/10/12 Javascript
vue中阻止click事件冒泡,防止触发另一个事件的方法
2018/02/08 Javascript
详解javascript中的变量提升和函数提升
2018/05/24 Javascript
微信小程序自定义轮播图
2018/11/04 Javascript
详解Vue底部导航栏组件
2019/05/02 Javascript
微信小程序服务器日期格式化问题
2020/01/07 Javascript
js实现带搜索功能的下拉框
2020/01/11 Javascript
[08:44]DOTA2发布会群星聚首 我们都是刀塔人
2014/03/21 DOTA
Python的爬虫包Beautiful Soup中用正则表达式来搜索
2016/01/20 Python
Python循环语句中else的用法总结
2016/09/11 Python
利用Python中的pandas库对cdn日志进行分析详解
2017/03/07 Python
Python实现的科学计算器功能示例
2017/08/04 Python
详谈python3中用for循环删除列表中元素的坑
2018/04/19 Python
python 获取页面表格数据存放到csv中的方法
2018/12/26 Python
在pyqt5中QLineEdit里面的内容回车发送的实例
2019/06/21 Python
python 使用装饰器并记录log的示例代码
2019/07/12 Python
浅析使用Python搭建http服务器
2019/10/27 Python
python 操作hive pyhs2方式
2019/12/21 Python
简单了解pytest测试框架setup和tearDown
2020/04/14 Python
python批量生成条形码的示例
2020/10/10 Python
什么是Smart Navigation?
2016/07/03 面试题
网上常见的一份Linux面试题(多项选择部分)
2014/09/09 面试题
4s店机修工岗位职责
2013/12/20 职场文书
材料会计岗位职责
2014/03/06 职场文书
《春到梅花山》教学反思
2014/04/16 职场文书
书香校园建设方案
2014/05/02 职场文书
诚实守信道德模范事迹材料
2014/08/15 职场文书
大学生迟到检讨书500字
2014/10/17 职场文书
租赁协议书
2015/01/27 职场文书
2015年教师节贺卡寄语
2015/03/24 职场文书
Window server中安装Redis的超详细教程
2021/11/17 Redis