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 相关文章推荐
用jquery实现自定义风格的滑动条实现代码
Apr 26 Javascript
ajax与302响应代码测试
Oct 23 Javascript
jQuery中bind与live的用法及区别小结
Jan 27 Javascript
javascript判断css3动画结束 css3动画结束的回调函数
Mar 10 Javascript
js如何实现淡入淡出效果
Nov 18 Javascript
AngularJS中实现用户访问的身份认证和表单验证功能
Apr 21 Javascript
微信小程序 保留小数(toFixed)详细介绍
Nov 16 Javascript
详解angularJs模块ui-router之状态嵌套和视图嵌套
Apr 28 Javascript
浅析JavaScript中的平稳退化(graceful degradation)
Jul 24 Javascript
node.js通过axios实现网络请求的方法
Mar 05 Javascript
vue导出html、word和pdf的实现代码
Jul 31 Javascript
Node.js 多线程完全指南总结
Mar 27 Javascript
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
PHP企业级应用之常见缓存技术篇
2011/01/27 PHP
解析isset与is_null的区别
2013/08/09 PHP
php判断linux下程序问题实例
2015/07/09 PHP
php表单习惯用的正则表达式
2017/10/11 PHP
浅析PHP类的反射来实现依赖注入过程
2018/02/06 PHP
如何通过PHP实现Des加密算法代码实例
2020/05/09 PHP
js计数器代码
2006/11/04 Javascript
javascript 获取iframe里页面中元素值的方法
2014/02/17 Javascript
用js读、写、删除Cookie代码分享及详细注释说明
2014/06/05 Javascript
JavaScript中string转换成number介绍
2014/12/31 Javascript
详解javascript实现瀑布流绝对式布局
2016/01/29 Javascript
bootstrap3 兼容IE8浏览器!
2016/05/02 Javascript
学习Angularjs分页指令
2016/07/01 Javascript
jQuery实现元素的插入
2017/02/27 Javascript
jQuery树插件zTree使用方法详解
2017/05/02 jQuery
深入浅析Nodejs的Http模块
2017/06/20 NodeJs
vue2.0实现分页组件的实例代码
2017/06/22 Javascript
深入理解Angularjs 脏值检测
2018/10/12 Javascript
mock.js实现模拟生成假数据功能示例
2019/01/15 Javascript
浅谈Angular单元测试总结
2019/03/22 Javascript
基于Vue中的父子传值问题解决
2020/07/27 Javascript
Node.js 中如何收集和解析命令行参数
2021/01/08 Javascript
[01:13]2015国际邀请赛线下观战现场
2015/08/08 DOTA
深入理解Python中的super()方法
2017/11/20 Python
python实现简单淘宝秒杀功能
2018/05/03 Python
利用python的socket发送http(s)请求方法示例
2018/05/07 Python
Python简易版图书管理系统
2019/08/12 Python
Python中如何添加自定义模块
2020/06/09 Python
Python爬取微信小程序Charles实现过程图解
2020/09/29 Python
世界上最大的餐具公司:Oneida
2016/12/17 全球购物
Maison Lab荷兰:名牌Outlet购物
2018/08/10 全球购物
举例说明类变量和实例变量的区别
2016/06/30 面试题
2014年单位植树节活动方案
2014/03/23 职场文书
小学生作文评语
2014/04/18 职场文书
办公室日常管理制度
2015/08/04 职场文书
小学生禁毒教育心得体会
2016/01/15 职场文书