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 相关文章推荐
javascript利用控件对windows的操作实现原理与应用
Dec 23 Javascript
JQuery中关于jquery.js与jquery.min.js的比较探讨
May 15 Javascript
jquery新的绑定事件机制on方法的使用方法
Apr 15 Javascript
js判断横竖屏及禁止浏览器滑动条示例
Apr 29 Javascript
jQuery简单实现QQ空间点赞已经取消点赞
Apr 02 Javascript
.NET微信公众号开发之创建自定义菜单
Jul 16 Javascript
基于$.ajax()方法从服务器获取json数据的几种方式总结
Jan 31 Javascript
npm 更改默认全局路径以及国内镜像的方法
May 16 Javascript
NestJs 静态目录配置详解
Mar 12 Javascript
微信小程序云开发如何使用云函数生成二维码
May 18 Javascript
vue中uni-app 实现小程序登录注册功能
Oct 12 Javascript
JS实现图片切换特效
Dec 23 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
DOTA2 6.87版本后新眼位详解攻略
2020/04/20 DOTA
PHP获取数组中某元素的位置及array_keys函数应用
2013/01/29 PHP
PHP反射机制用法实例
2014/08/28 PHP
php+ajax无刷新分页实例详解
2015/12/07 PHP
PHP中的表达式简述
2016/05/29 PHP
使用EXT实现无刷新动态调用股票信息
2008/11/01 Javascript
向大师们学习Javascript(视频与PPT)
2009/12/27 Javascript
Javascript Object.extend
2010/05/18 Javascript
表单JS弹出填写提示效果代码
2011/04/16 Javascript
jquery中:input和input的区别分析
2011/07/13 Javascript
js 输出内容到新窗口具体实现代码
2013/05/31 Javascript
onkeyup,onkeydown和onkeypress的区别介绍
2013/10/21 Javascript
如何使用HTML5地理位置定位功能
2015/04/27 Javascript
javascript用函数实现对象的方法
2015/05/14 Javascript
全面解析Bootstrap表单样式的使用
2016/09/09 Javascript
addeventlistener监听scroll跟touch(实例讲解)
2017/08/04 Javascript
vue2.0 和 animate.css的结合使用
2017/12/12 Javascript
vue中element组件样式修改无效的解决方法
2018/02/03 Javascript
javascript实现的图片预览和上传功能示例【兼容IE 9】
2020/05/01 Javascript
CentOS 8.2服务器上安装最新版Node.js的方法
2020/12/16 Javascript
Python中getattr函数和hasattr函数作用详解
2016/06/14 Python
Python+django实现简单的文件上传
2016/08/17 Python
对于Python深浅拷贝的理解
2019/07/29 Python
Python函数式编程指南:对生成器全面讲解
2019/11/19 Python
Python Pillow.Image 图像保存和参数选择方式
2020/01/09 Python
SpringBoot实现登录注册常见问题解决方案
2020/03/04 Python
四方通行旅游网:台湾订房、出国旅游
2017/09/20 全球购物
德国亚洲食品网上商店:asiafoodland.de
2019/12/28 全球购物
what is the difference between ext2 and ext3
2013/11/03 面试题
cf收人广告词大全
2014/03/14 职场文书
作风转变心得体会
2014/09/02 职场文书
企业法人代表授权委托书
2014/10/02 职场文书
车间统计员岗位职责
2015/04/14 职场文书
小学音乐课歌曲《堆雪人》教学反思
2016/02/18 职场文书
Python开发之QT解决无边框界面拖动卡屏问题(附带源码)
2021/05/27 Python
一文搞懂Redis中String数据类型
2022/04/03 Redis