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的另类写法
Apr 11 Javascript
vue的props实现子组件随父组件一起变化
Oct 27 Javascript
bootstrap3使用bootstrap datetimepicker日期插件
May 24 Javascript
解决webpack打包速度慢的解决办法汇总
Jul 06 Javascript
移动端效果之Swiper详解
Oct 09 Javascript
详解Webpack+Babel+React开发环境的搭建的方法步骤
Jan 09 Javascript
原生JS实现多个小球碰撞反弹效果示例
Jan 31 Javascript
node中modules.exports与exports导出的区别
Jun 08 Javascript
webuploader分片上传的实现代码(前后端分离)
Sep 10 Javascript
vue中typescript装饰器的使用方法超实用教程
Jun 17 Javascript
记一次react前端项目打包优化的方法
Mar 30 Javascript
微信小程序自定义yPicker组件实现省市区三级联动功能
Oct 29 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获取地址栏信息的代码
2008/10/08 PHP
ionCube 一款类似zend的PHP加密/解密工具
2010/07/25 PHP
php截取后台登陆密码的代码
2012/05/05 PHP
php mysql_real_escape_string函数用法与实例教程
2013/09/30 PHP
PHP递归删除目录几个代码实例
2014/04/21 PHP
thinkPHP5.0框架配置格式、加载解析与读取方法
2017/03/17 PHP
thinkphp5框架实现数据库读取的数据转换成json格式示例
2019/10/10 PHP
Js中sort()方法的用法
2006/11/04 Javascript
基于MVC3方式实现下拉列表联动(JQuery)
2013/09/02 Javascript
javascript中局部变量和全局变量的区别详解
2015/02/27 Javascript
jQuery使用attr()方法同时设置多个属性值用法实例
2015/03/26 Javascript
javascript实现仿百度图片的瀑布流加载效果
2016/04/20 Javascript
Ext JS框架中日期函数的用法及日期选择控件的实现
2016/05/21 Javascript
jQuery操作iframe中js函数的方法小结
2016/07/06 Javascript
原生js实现鼠标跟随效果
2017/02/28 Javascript
javascript实现圣旨卷轴展开效果(代码分享)
2017/03/23 Javascript
axios基本入门用法教程
2017/03/25 Javascript
JavaWeb表单及时验证功能在输入后立即验证(含用户类型,性别,爱好...的验证)
2017/06/09 Javascript
js仿微信抢红包功能
2020/09/25 Javascript
Vue2.0生命周期的理解
2018/08/20 Javascript
详解基于node.js的脚手架工具开发经历
2019/01/28 Javascript
JS数组Object.keys()方法的使用示例
2019/06/05 Javascript
JS实现可视化音频效果的实例代码
2020/01/16 Javascript
JS sort方法基于数组对象属性值排序
2020/07/10 Javascript
[51:06]2018DOTA2亚洲邀请赛3月29日 小组赛A组 KG VS Liquid
2018/03/30 DOTA
深入讲解Python编程中的字符串
2015/10/14 Python
详解Django之auth模块(用户认证)
2018/04/17 Python
Python从ZabbixAPI获取信息及实现Zabbix-API 监控的方法
2018/09/17 Python
Python拼接字符串的7种方式详解
2020/03/19 Python
Python叠加矩形框图层2种方法及效果
2020/06/18 Python
Weekendesk意大利:探索多种引人入胜的周末主题
2016/10/14 全球购物
难忘的一天教学反思
2014/04/30 职场文书
预防传染病方案
2014/06/14 职场文书
教师法制教育培训学习心得体会
2016/01/14 职场文书
调研报告的主要写法
2019/04/18 职场文书
《飘》英文读后感五篇
2019/10/11 职场文书