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困惑—包装集 DOM节点
Oct 16 Javascript
JS判断元素为数字的奇异写法分享
Aug 01 Javascript
jquery load事件(callback/data)使用方法及注意事项
Feb 06 Javascript
JS实现同时搜索百度和必应的方法
Jan 27 Javascript
浅谈轻量级js模板引擎simplite
Feb 13 Javascript
jQuery实现点击图片翻页展示效果的方法
Feb 16 Javascript
js获取页面description的方法
May 21 Javascript
Js 获取、判断浏览器版本信息的简单方法
Aug 08 Javascript
Vue2.0基于vue-cli+webpack Vuex的用法(实例讲解)
Sep 15 Javascript
详解HTML5 使用video标签实现选择摄像头功能
Oct 25 Javascript
vue单页面打包文件大?首次加载慢?nginx带你飞,从7.5M到1.3M蜕变过程(推荐)
Jan 16 Javascript
vue插槽slot的理解和使用方法
Apr 03 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/04/09 PHP
使用ob系列函数实现PHP网站页面静态化
2014/08/13 PHP
php调整服务器时间的方法
2015/04/03 PHP
PHP实现网页内容html标签补全和过滤的方法小结【2种方法】
2017/04/27 PHP
Laravel监听数据库访问,打印SQL的例子
2019/10/24 PHP
用jscript启动sqlserver
2007/06/21 Javascript
ext form 表单提交数据的方法小结
2008/08/08 Javascript
Javascript设置对象的ReadOnly属性(示例代码)
2013/12/25 Javascript
jQuery中html()方法用法实例
2014/12/25 Javascript
使用jQuery实现更改默认alert框体
2015/04/13 Javascript
jQuery插件zoom实现图片全屏放大弹出层特效
2015/04/15 Javascript
JavaScrip常见的一些算法总结
2015/12/28 Javascript
AngularJs页面筛选标签小功能
2016/08/01 Javascript
JS锚点的设置与使用方法
2016/09/05 Javascript
easyui简介_动力节点Java学院整理
2017/07/14 Javascript
LayerClose弹窗关闭刷新方法
2018/08/17 Javascript
vue单页应用的内存泄露定位和修复问题小结
2019/08/02 Javascript
vue实现图片上传到后台
2020/06/29 Javascript
JS字符串和数组如何实现相互转化
2020/07/02 Javascript
在vs code 中如何创建一个自己的 Vue 模板代码
2020/11/10 Javascript
[56:56]VG vs LGD 2019国际邀请赛淘汰赛 胜者组 BO3 第一场 8.22
2019/09/05 DOTA
Python远程桌面协议RDPY安装使用介绍
2015/04/15 Python
Python实现队列的方法
2015/05/26 Python
Python hashlib模块用法实例分析
2018/06/12 Python
numpy求平均值的维度设定的例子
2019/08/24 Python
Python使用QQ邮箱发送邮件实例与QQ邮箱设置详解
2020/02/18 Python
美国手工艺品市场的领导者:Annie’s
2019/04/04 全球购物
三陽商会官方网站:Sanyo iStore
2019/05/15 全球购物
澳大利亚设计师服装在线:MISHA
2019/10/07 全球购物
个人简历自我评价八例
2013/10/31 职场文书
团员个人的自我评价
2013/12/02 职场文书
小学爱国卫生月活动总结
2014/06/30 职场文书
九一八事变演讲稿范文
2014/09/14 职场文书
2014年医院工作总结
2014/11/20 职场文书
php随机生成验证码,php随机生成数字,php随机生成数字加字母!
2021/04/01 PHP
如何Python使用re模块实现okenizer
2022/04/30 Python