JS实现部分HTML固定页面顶部随屏滚动效果


Posted in Javascript onDecember 24, 2015

本文实例讲述了JS实现部分HTML固定页面顶部随屏滚动效果。分享给大家供大家参考,具体如下:

我们经常在淘宝网看到这样的特效,商品列表特别长,而商品列名称始终保持在最顶端。如果你把滚动条滚动至最上边了,那么它会自动判断是否到顶端了,然后一直置顶从而不怕遮挡。

这种特效是通过JavaScript和CSS实现的,在实际开发中有不少用途,下面是我找到的一个使用JavaScript制作的仿淘宝智能浮动的源代码,兼容性不错,在IE、Firefox、Chrome下都能正常工作。

使用这个特效代码需要注意,如果在侧边栏使用,则需要注意,侧栏中的栏目不能使用JavaScript动态加载,必须用静态的格式,否则在JavaScript会错误的计算页面高度,上下滚动的时候会出现错位现象。

JavaScript代码:

(function(){
  var oDiv=document.getElementById("float");
  var H=0,iE6;
  var Y=oDiv;
  while(Y){H+=Y.offsetTop;Y=Y.offsetParent};
  iE6=window.ActiveXObject&&!window.XMLHttpRequest;
  if(!iE6){
    window.onscroll=function() 
    {
      var s=document.body.scrollTop||document.documentElement.scrollTop;
      if(s>H){oDiv.className="div1 div2";if(iE6){oDiv.style.top=(s-H)+"px";}}
      else{oDiv.className="div1";}
    };
  }
})();

HTML代码:

<div id="box">
  <div id="float" class="div1">
    //随滚动移动的部分代码
  </div>
</div>

CSS代码:

#box{float:left;position:relative;width:295px;}
.div1{}
.div2{position:fixed;_position:absolute;top:3px;z-index:295;}

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
HTA版JSMin(省略修饰语若干)基于javascript语言编写
Dec 24 Javascript
js 获取radio按钮值的实例
Aug 17 Javascript
不同编码的页面表单数据乱码问题解决方法
Feb 15 Javascript
JavaScript中在光标处插入添加文本标签节点的详细方法
Mar 22 Javascript
vue.js组件之间传递数据的方法
Jul 10 Javascript
Axios学习笔记之使用方法教程
Jul 21 Javascript
基于jQuery实现Ajax验证用户名是否可用实例
Mar 25 jQuery
vue、react等单页面项目部署到服务器的方法及vue和react的区别
Sep 29 Javascript
如何使用 vue + d3 画一棵树
Dec 03 Javascript
深入理解Antd-Select组件的用法
Feb 25 Javascript
微信小程序实现多张图片上传功能
Nov 18 Javascript
vue项目中的支付功能实现(微信支付和支付宝支付)
Feb 18 Vue.js
jQuery中hover与mouseover和mouseout的区别分析
Dec 24 #Javascript
基于JS2Image实现圣诞树代码
Dec 24 #Javascript
jquery读写cookie操作实例分析
Dec 24 #Javascript
jquery.cookie实现的客户端购物车操作实例
Dec 24 #Javascript
jQuery基于cookie实现的购物车实例分析
Dec 24 #Javascript
jQuery实现网页顶部固定导航效果代码
Dec 24 #Javascript
jQuery的选择器中的通配符[id^='code']或[name^='code']及jquery选择器总结
Dec 24 #Javascript
You might like
zend api扩展的php对象的autoload工具
2011/04/18 PHP
LotusPhp笔记之:基于ObjectUtil组件的使用分析
2013/05/06 PHP
PHP中常用的转义函数
2014/02/28 PHP
PHP的Yii框架中创建视图和渲染视图的方法详解
2016/03/29 PHP
一个js拖拽的效果类和dom-drag.js浅析
2010/07/17 Javascript
深入理解JavaScript系列(9) 根本没有“JSON对象”这回事!
2012/01/15 Javascript
js hover 定时器(实例代码)
2013/11/12 Javascript
JavaScript AJAX之惰性载入函数
2014/08/27 Javascript
微信小程序 canvas API详解及实例代码
2016/10/08 Javascript
微信小程序中实现手指缩放图片的示例代码
2018/03/13 Javascript
Taro集成Redux快速上手的方法示例
2018/06/21 Javascript
vuejs简单验证码功能完整示例
2019/01/08 Javascript
vscode下vue项目中eslint的使用方法
2019/01/13 Javascript
关于vue里页面的缓存详解
2019/11/04 Javascript
javascript将16进制的字符串转换为10进制整数hex
2020/03/05 Javascript
[47:55]Ti4第二日主赛事败者组 NaVi vs EG 1
2014/07/20 DOTA
[04:28]DOTA2亚洲邀请赛小组赛第五日 TOP10精彩集锦
2015/02/03 DOTA
Python使用getpass库读取密码的示例
2017/10/10 Python
pytorch的batch normalize使用详解
2020/01/15 Python
python小白学习包管理器pip安装
2020/06/09 Python
Python流程控制语句的深入讲解
2020/06/15 Python
python数据类型强制转换实例详解
2020/06/22 Python
python 获取字典特定值对应的键的实现
2020/09/29 Python
俄罗斯玩具、儿童用品、儿童服装和鞋子网上商店:MyToys.ru
2019/10/14 全球购物
使用索引有什么好处
2016/07/27 面试题
介绍一下Linux文件的记录形式
2012/04/18 面试题
大学生毕业的自我评价分享
2014/01/02 职场文书
cf搞笑广告词
2014/03/14 职场文书
表彰大会主持词
2014/03/26 职场文书
教师思想作风整顿个人剖析材料
2014/10/10 职场文书
2014年数学教研组工作总结
2014/12/06 职场文书
商超业务员岗位职责
2015/02/13 职场文书
会议通知格式范文
2015/04/15 职场文书
2015年城市管理工作总结
2015/05/23 职场文书
音乐会主持人开场白
2015/05/28 职场文书
跳高加油稿
2015/07/21 职场文书