基于JavaScript实现div层跟随滚动条滑动


Posted in Javascript onJanuary 12, 2016

在一个页面放2个悬浮框,悬浮框随页面的上下滚动有上下波动的效果,最终固定在同一位置

效果展示如下所示:

代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>JavScript页面悬浮框- 何问起</title><base target="_blank" />
<style>
body {
height: 2000px;
}
#div1 {
width: 100px;
height: 150px;
background: red;
position: absolute;
right: 0;
top:200px;
}
#div2 {
width: 200px;
height: 200px;
background: green;
position: absolute;
left: 0;
top: 200px;
}a{color:white}
</style>
</head>
<body>
<div id="div1"><a href="http://hovertree.com">何问起</a> <a href="http://hovertree.com/texiao/">特效</a></div>
<div id="div2"><a href="http://hovertree.com/h/bjaf/mbrpxe4o.htm">原文</a>
<a href="http://hovertree.com/texiao/jsstudy/1/">效果</a>
</div>
<div id="hovertree" style="position:fixed;top:100px;left:40%;z-index:99;height:100px;width:100px;background-color:silver"></div>
<div>在一个页面放2个悬浮框,悬浮框随页面的上下滚动有上下波动的效果,最终固定在同一位置</div>
<script>
var h_div1 = document.getElementById('div1'), h_div2 = document.getElementById('div2');
var h_hvttop = 200;
window.onscroll = function () {
HoverTreeMove(h_div1, h_hvttop)
HoverTreeMove(h_div2, h_hvttop)
//显示信息
var h_scrollTop = document.documentElement.scrollTop || document.body.scrollTop;//滚动的距离
var h_hovertree = document.getElementById('hovertree'); 
h_hovertree.innerHTML = h_div1.offsetTop + " hovertree<br /> " + h_scrollTop + "<br />" + h_div1.style.top;
};
function HoverTreeMove(obj,top)
{
var h_scrollTop = document.documentElement.scrollTop || document.body.scrollTop;//滚动的距离
var h_buchang = 20;
if (obj.offsetTop < h_scrollTop + top - h_buchang)
{
obj.style.top = obj.offsetTop + h_buchang + "px";
setTimeout(function () { HoverTreeMove(obj, top); }, 80);
}
else if (obj.offsetTop > h_scrollTop + top + h_buchang)
{
obj.style.top = (obj.offsetTop - h_buchang) + "px";
setTimeout(function () { HoverTreeMove(obj, top); }, 80);
}
else {
obj.style.top = h_scrollTop + top + "px";
}
}
HoverTreeMove(h_div1, 200)
HoverTreeMove(h_div2, 200)
</script>
</body>
</html>

下面给大家分享一段代码页面顶端固定div,不随滚动条移动,提示浏览器信息

例子1:

<html>
<head>
<style type="text/css">
#topNavWrapper {
height: 29px;
margin: 0px auto;
min-width:1000px;
z-index:100;
_position: relative ;
_top:0px; 
}
#topNav 
{
width:100%;
display: block;
z-index: 100;
overflow: visible;
position: fixed;
top: 0px; 
_position: absolute;
_top: expression(documentElement.scrollTop-5 + "px");
background-color:#EBEBEB;
border-bottom-style:solid;
border-bottom-width:1px;
border-bottom-color:#D0D0D0;
height: 28px;
min-width:1000px;
}
#top
{
margin: 0px auto;
width:1000px;
position:relative;
} 
.left
{
left:5px;
top:6px;
width:200px;
position:absolute;
}
.leftlx
{
left:205px;
top:6px;
width:300px;
position:absolute;
}
.right
{
left:830px;
top:6px;
width:170px;
position:absolute;
}
#top a
{
text-decoration: none;
color:#747474;
}
#top a:hover
{
color: blue;
text-decoration: underline;
}
</style>
</head>
<body>
<div id="topNavWrapper">
<div id="topNav">
<div id="top">
<div class="left">您好!欢迎来到....^ ^</div><div class="leftlx"><a href="about.aspx?id=1">[联系我们]</a>  客户服务热线: 400-699-1111</div>
<div class="right">
<table cellpadding="0" cellspacing="0"><tr><td><a href="#">简体中文</a></td><td>|</td><td><a href="big5.html">繁体中文</a></td>
<td>|</td><td><a onclick='window.external.addFavorite("http://www.xxxx.com","xxxx")' href="#">收藏本站</a></td></tr></table>
</div>
</div>
</div>
</div>
</body>
</html>

例子2:

<style type="text/css">
{
margin: 0px;
padding: 0px;
}
body {
background-attachment: fixed; /* prevent screen flash in IE6 */
}
#topNavWrapper {
width: 100%;
text-align: left;
height: 28px;
margin: 0px auto;
z-index:100;
_position: relative ;
_top:0px;
}
#topNav {
width: 100%;
float: left;
display: block;
z-index: 100;
overflow: visible;
position: fixed;
top: 0px; /* position fixed for IE6 */
_position: absolute;
_top: expression(documentElement.scrollTop + "px");
height: 28px;
}
</style>
Javascript 相关文章推荐
js图片延迟技术一般的思路与示例
Mar 20 Javascript
js简单实现交换Li的值
May 22 Javascript
Jquery 实现table样式的设定
Jan 28 Javascript
zepto.js中tap事件阻止冒泡的实现方法
Feb 12 Javascript
关于Function中的bind()示例详解
Dec 02 Javascript
angularjs中使用ng-bind-html和ng-include的实例
Apr 28 Javascript
一文让你彻底搞清楚javascript中的require、import与export
Sep 24 Javascript
详解Webpack多环境代码打包的方法
Aug 03 Javascript
js中apply()和call()的区别与用法实例分析
Aug 14 Javascript
jQuery实现点击图标div循环放大缩小功能
Sep 30 jQuery
浅谈JavaScript中你可能不知道URL构造函数的属性
Jul 13 Javascript
vue-cli4使用全局less文件中的变量配置操作
Oct 21 Javascript
JavaScript继承模式粗探
Jan 12 #Javascript
轻松实现Bootstrap图片轮播
Apr 20 #Javascript
探析浏览器执行JavaScript脚本加载与代码执行顺序
Jan 12 #Javascript
学习JavaScript设计模式之策略模式
Jan 12 #Javascript
基于jQuery1.9版本如何判断浏览器版本类型
Jan 12 #Javascript
jQuery版本升级踩坑大全
Jan 12 #Javascript
基于jQuery实现点击最后一行实现行自增效果的表格
Jan 12 #Javascript
You might like
DC动画电影《黑暗正义联盟》曝预告 5月5日上线数字平台
2020/04/09 欧美动漫
百度ping方法使用示例 自动ping百度
2014/01/26 PHP
PHP递归实现层级树状展开
2016/04/01 PHP
详解php中serialize()和unserialize()函数
2017/07/08 PHP
JQuery最佳实践之精妙的自定义事件
2010/08/11 Javascript
javascrip客户端验证文件大小及文件类型并重置上传
2011/01/12 Javascript
JavaScript执行顺序详细介绍
2013/12/04 Javascript
JavaScript清空数组元素的两种方法简单比较
2015/07/10 Javascript
js动态获取子复选项并设计全选及提交的实现方法
2016/06/24 Javascript
jQuery展示表格点击变色、全选、删除
2017/01/05 Javascript
vue组件实例解析
2017/01/10 Javascript
javascript 使用正则test( )第一次是 true,第二次是false
2017/02/22 Javascript
详解vue中使用express+fetch获取本地json文件
2017/10/10 Javascript
vue2.0 better-scroll 实现移动端滑动的示例代码
2018/01/25 Javascript
详解webpack打包nodejs项目(前端代码)
2018/09/19 NodeJs
Vue中Table组件行内右键菜单实现方法(基于 vue + AntDesign)
2019/11/21 Javascript
js+css3实现简单时钟特效
2020/09/13 Javascript
[05:09]DOTA2-DPC中国联赛2月22日Recap集锦
2021/03/11 DOTA
浅谈Python生成器generator之next和send的运行流程(详解)
2017/05/08 Python
Python编程对列表中字典元素进行排序的方法详解
2017/05/26 Python
python使用tornado实现登录和登出
2018/07/28 Python
python3+PyQt5 使用三种不同的简便项窗口部件显示数据的方法
2019/06/17 Python
如何验证python安装成功
2020/07/06 Python
python爬虫请求头的使用
2020/12/01 Python
python 数据类型强制转换的总结
2021/01/25 Python
10个最常见的HTML5面试题 附答案
2016/06/06 HTML / CSS
html2canvas生成的图片偏移不完整的解决方法
2020/05/19 HTML / CSS
伦敦高级内衣品牌:Agent Provocateur(大内密探)
2016/08/23 全球购物
DOM和JQuery对象有什么区别
2016/11/11 面试题
与C++相比,Java中的数组有什么不同
2014/03/25 面试题
新娘父亲婚礼致辞
2014/01/16 职场文书
党员四风自我剖析材料思想汇报
2014/09/13 职场文书
高中生社会实践心得体会
2016/01/14 职场文书
2019年大学生学年自我鉴定!
2019/03/25 职场文书
Nginx搭建rtmp直播服务器实现代码
2021/03/31 Servers
Python使用华为API为图像设置多个锚点标签
2022/04/12 Python