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 相关文章推荐
纯JavaScript实现的完美渐变弹出层效果代码
Apr 02 Javascript
js输入框邮箱自动提示功能代码实现
Dec 10 Javascript
VC调用javascript的几种方法(推荐)
Aug 09 Javascript
原生JS实现图片懒加载(lazyload)实例
Jun 13 Javascript
jQuery实现可拖动进度条实例代码
Jun 21 jQuery
Angular 2父子组件之间共享服务通信的实现
Jul 04 Javascript
vue select选择框数据变化监听方法
Aug 24 Javascript
使用nvm和nrm优化node.js工作流的方法
Jan 17 Javascript
jQuery实现鼠标放置名字上显示详细内容气泡提示框效果的方法分析
Apr 04 jQuery
react ant Design手动设置表单的值操作
Oct 31 Javascript
Vue + ts实现轮播插件的示例
Nov 10 Javascript
Vue组件化(ref,props, mixin,.插件)详解
May 15 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
咖啡因含量是由谁决定的?低因咖啡怎么来?低因咖啡适合什么人喝
2021/03/06 新手入门
php字符串截取问题
2006/11/28 PHP
php调用淘宝开放API实现根据卖家昵称获取卖家店铺ID的方法
2015/07/29 PHP
PHP PDO数据库操作预处理与注意事项
2019/03/16 PHP
PHP语言对接抖音快手小红书视频/图片去水印API接口源码
2020/08/11 PHP
Underscore.js 1.3.3 中文注释翻译说明
2015/06/25 Javascript
js中 javascript:void(0) 用法详解
2015/08/11 Javascript
跟我学习javascript的隐式强制转换
2015/11/16 Javascript
jquery实现右侧栏菜单选择操作
2016/03/04 Javascript
AngularJS基础 ng-readonly 指令简单示例
2016/08/02 Javascript
jQuery中绑定事件bind() on() live() one()的异同
2017/02/23 Javascript
基于React实现表单数据的添加和删除详解
2017/03/14 Javascript
angular2+node.js express打包部署的实战
2017/07/27 Javascript
vue 不使用select实现下拉框功能(推荐)
2018/05/17 Javascript
Bootstrap Table列宽拖动的方法
2018/08/15 Javascript
基于layui轮播图满屏是高度自适应的解决方法
2019/09/16 Javascript
javascript头像上传代码实例
2019/09/28 Javascript
Vue实现计算器计算效果
2020/08/17 Javascript
微信小程序使用前置摄像头拍照
2020/10/22 Javascript
python单例模式实例分析
2015/04/08 Python
Python教程之全局变量用法
2016/06/27 Python
python实现requests发送/上传多个文件的示例
2018/06/04 Python
Python实现将通信达.day文件读取为DataFrame
2018/12/22 Python
python实现剪切功能
2019/01/23 Python
pycharm下配置pyqt5的教程(anaconda虚拟环境下+tensorflow)
2020/03/25 Python
H5仿微信界面教程(一)
2017/07/05 HTML / CSS
包装类的功能、种类、常用方法
2012/01/27 面试题
优秀员工演讲稿
2014/05/19 职场文书
运动会广播稿200字
2014/10/18 职场文书
2014年双拥工作总结
2014/11/21 职场文书
2014年幼儿园园长工作总结
2014/12/17 职场文书
期末考试复习计划
2015/01/19 职场文书
学校实习推荐信
2015/03/27 职场文书
创建文明城市倡议书
2015/04/28 职场文书
幼儿园老师工作总结2015
2015/05/22 职场文书
Redis 限流器
2022/05/15 Redis