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小测验(代码集合)
Jul 27 Javascript
Javascript变量函数浅析
Sep 02 Javascript
js中document.getElementByid、document.all和document.layers区分介绍
Dec 08 Javascript
全面解析Bootstrap表单使用方法(表单样式)
Nov 24 Javascript
javascript中new关键字详解
Dec 14 Javascript
AngularJS中$interval的用法详解
Feb 02 Javascript
详解jQuery中的deferred对象的使用(一)
May 27 Javascript
jQuery操作iframe中js函数的方法小结
Jul 06 Javascript
node.js express安装及示例网站搭建方法(分享)
Aug 22 Javascript
AngularJS定时器的使用与移除操作方法【interval与timeout】
Dec 14 Javascript
Angular中的interceptors拦截器
Jun 25 Javascript
vue的style绑定background-image的方式和其他变量数据的区别详解
Sep 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
example2.php
2006/10/09 PHP
PHP的面向对象编程
2006/10/09 PHP
PHP token验证生成原理实例分析
2019/06/05 PHP
不错的asp中显示新闻的功能
2006/10/13 Javascript
非常漂亮的JS代码经典广告
2007/10/21 Javascript
JS选中checkbox后获取table内一行TD所有数据的方法
2015/07/01 Javascript
继续学习javascript闭包
2015/12/03 Javascript
JavaScript基础知识之方法汇总结
2016/01/24 Javascript
浅谈javascript中的call、apply、bind
2016/03/06 Javascript
js改变css样式的三种方法推荐
2016/06/28 Javascript
Easyui的组合框的取值与赋值
2016/10/28 Javascript
详解nodejs 文本操作模块-fs模块(三)
2016/12/22 NodeJs
ES6生成器用法实例分析
2017/04/10 Javascript
C#实现将一个字符转换为整数
2017/12/12 Javascript
nodejs超出最大的调用栈错误问题
2017/12/27 NodeJs
原生js实现拖拽功能基本思路详解
2018/04/18 Javascript
js实现input密码框显示/隐藏功能
2020/09/10 Javascript
用js限制网页只在微信浏览器中打开(或者只能手机端访问)
2020/12/24 Javascript
npm qs模块使用详解
2020/02/07 Javascript
详解Vue Cli浏览器兼容性实践
2020/06/08 Javascript
[12:51]71泪洒现场!是DOTA2让经典重现
2014/03/24 DOTA
重命名批处理python脚本
2013/04/05 Python
Python中使用gzip模块压缩文件的简单教程
2015/04/08 Python
Python利用Beautiful Soup模块修改内容方法示例
2017/03/27 Python
Python之str操作方法(详解)
2017/06/19 Python
Django1.9 加载通过ImageField上传的图片方法
2018/05/25 Python
python单例模式实例解析
2018/08/28 Python
在python中将list分段并保存为array类型的方法
2019/07/15 Python
python实现二分类的卡方分箱示例
2019/11/22 Python
解决import tensorflow as tf 出错的原因
2020/04/16 Python
Scrapy中如何向Spider传入参数的方法实现
2020/09/28 Python
Doyoueven官网:澳大利亚健身服饰和配饰品牌
2019/03/24 全球购物
医院实习接收函
2014/01/12 职场文书
处级领导干部四风问题自我剖析材料
2014/09/29 职场文书
关于观后感的作文
2015/06/18 职场文书
2016年中秋节寄语大全
2015/12/07 职场文书