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 相关文章推荐
json 入门基础教程 推荐
Oct 31 Javascript
Jquery下判断Id是否存在的代码
Jan 06 Javascript
javascript(js)的小数点乘法除法问题详解
Mar 07 Javascript
JavaScript+html5 canvas制作色彩斑斓的正方形效果
Jan 27 Javascript
jQuery插件FusionWidgets实现的Cylinder图效果示例【附demo源码】
Mar 23 jQuery
JS获取指定月份的天数两种实现方法
Jun 22 Javascript
vue-router中scrollBehavior的巧妙用法
Jul 09 Javascript
webpack的CSS加载器的使用
Sep 11 Javascript
Node.js如何优雅的封装一个实用函数的npm包的方法
Apr 29 Javascript
vue input输入框关键字筛选检索列表数据展示
Oct 26 Javascript
jQuery实现图片下载代码
Jul 18 jQuery
layui 富文本图片上传接口与普通按钮 文件上传接口的例子
Sep 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
php radio 单选框获取与保持值的实现代码
2010/05/15 PHP
PHP彩蛋信息介绍和阻止泄漏的方法(隐藏功能)
2014/08/06 PHP
基于递归实现的php树形菜单代码
2014/11/19 PHP
php通过curl添加cookie伪造登陆抓取数据的方法
2016/04/02 PHP
PHP判断文件是否被引入的方法get_included_files用法示例
2016/11/29 PHP
基于thinkPHP类的插入数据库操作功能示例
2017/01/06 PHP
PHP 传输会话curl函数的实例详解
2017/09/12 PHP
JavaScript CSS修改学习第五章 给“上传”添加样式
2010/02/19 Javascript
深入理解JavaScript定时机制
2010/10/29 Javascript
javascript学习笔记(九)javascript中的原型(prototype)及原型链的继承方式
2011/04/12 Javascript
HTML页面滚动时获取离页面顶部的距离2种实现方法
2013/09/05 Javascript
jquery实现美观的导航菜单鼠标提示特效代码
2015/09/06 Javascript
深入探讨前端框架react
2015/12/09 Javascript
根据输入邮箱号跳转到相应登录地址的解决方法
2016/12/13 Javascript
详解JavaScript添加给定的标签选项
2018/09/17 Javascript
vue-cli3搭建项目的详细步骤
2018/12/05 Javascript
Vue仿百度搜索功能
2020/12/28 Vue.js
如何使用Python实现自动化水军评论
2019/06/26 Python
Python常用模块os.path之文件及路径操作方法
2019/12/03 Python
基于Python和PyYAML读取yaml配置文件数据
2020/01/13 Python
python代码实现将列表中重复元素之间的内容全部滤除
2020/05/22 Python
Django静态文件加载失败解决方案
2020/08/26 Python
python+excel接口自动化获取token并作为请求参数进行传参操作
2020/11/10 Python
利用python查看数组中的所有元素是否相同
2021/01/08 Python
详解HTML5 Canvas绘制不规则图形时的非零环绕原则
2016/03/21 HTML / CSS
英国家用电器折扣网站:Electrical Discount UK
2018/09/17 全球购物
请写出char *p与"零值"比较的if语句
2014/09/24 面试题
土木工程师岗位职责
2013/11/24 职场文书
韩国商务邀请函
2014/01/14 职场文书
校园环保建议书
2014/05/14 职场文书
党员目标管理责任书
2014/07/25 职场文书
优秀党员自我评价范文
2014/09/15 职场文书
终止劳动合同证明书样本
2014/11/19 职场文书
亮剑观后感300字
2015/06/05 职场文书
Redis Cluster 字段模糊匹配及删除
2021/05/27 Redis
Java 实战项目之家居购物商城系统详解流程
2021/11/11 Java/Android