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遮罩层效果导航菜单代码分享
Dec 25 Javascript
JavaScript实现列出数组中最长的连续数
Dec 29 Javascript
javascript实现网站加入收藏功能
Dec 16 Javascript
分享JavaScript与Java中MD5使用两个例子
Dec 23 Javascript
基于jQuery实现点击弹出层实例代码
Jan 01 Javascript
js使用highlight.js高亮你的代码
Aug 18 Javascript
vue实现页面加载动画效果
Sep 19 Javascript
详解用Webpack与Babel配置ES6开发环境
Mar 12 Javascript
微信小程序 如何获取网络状态
Jul 26 Javascript
小程序Request的另类用法详解
Aug 09 Javascript
原生js实现下拉选项卡
Nov 27 Javascript
js实现点赞效果
Mar 16 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
德生9700DX电路分析
2021/03/02 无线电
PHP array_multisort()函数的使用札记
2011/07/03 PHP
浅析PHP微信支付通知的处理方式
2014/05/25 PHP
使用array_map简单搞定PHP删除文件、删除目录
2014/10/29 PHP
PHP的邮件群发系统phplist配置方法详细总结
2016/03/30 PHP
CodeIgniter 完美解决URL含有中文字符串
2016/05/13 PHP
php字符串操作常见问题小结
2016/10/11 PHP
javascript或asp实现的判断身份证号码是否正确两种验证方法
2009/11/26 Javascript
JavaScript关于select的相关操作说明
2010/01/13 Javascript
获取当前点击按钮的id用this.id实现
2014/03/17 Javascript
深入理解JavaScript 函数
2016/06/06 Javascript
JCrop+ajaxUpload 图像切割上传的实例代码
2016/07/20 Javascript
Backbone中View之间传值的学习心得
2016/08/09 Javascript
聊一聊JS中的prototype
2016/09/29 Javascript
JS如何设置iOS中微信浏览器的title
2016/11/22 Javascript
js 原型对象和原型链理解
2017/02/09 Javascript
ES6学习笔记之Set和Map数据结构详解
2017/04/07 Javascript
JS实现的判断方法、变量是否存在功能示例
2020/03/28 Javascript
微信小程序在地图选择地址并返回经纬度简单示例
2018/12/03 Javascript
20道JS原理题助你面试一臂之力(必看)
2019/07/22 Javascript
Element Dropdown下拉菜单的使用方法
2020/07/26 Javascript
[56:42]VP vs RNG 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
对python使用http、https代理的实例讲解
2018/05/07 Python
python 实现登录网页的操作方法
2018/05/11 Python
django做form表单的数据验证过程详解
2019/07/26 Python
pyhton中__pycache__文件夹的产生与作用详解
2019/11/24 Python
Python3自定义json逐层解析器代码
2020/05/11 Python
Python2手动安装更新pip过程实例解析
2020/07/16 Python
英国殿堂级有机护肤品牌:Rodial
2017/04/17 全球购物
智能钱包:Ekster
2019/11/21 全球购物
如何向接受结构参数的函数传入常数值
2016/02/17 面试题
详解如何解决使用JSON.stringify时遇到的循环引用问题
2021/03/23 Javascript
《赶海》教学反思
2014/04/20 职场文书
三严三实对照检查材料
2014/08/25 职场文书
2019年二手房买卖合同范本
2019/10/14 职场文书
mysql的数据压缩性能对比详情
2021/11/07 MySQL