基于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 相关文章推荐
让JavaScript拥有类似Lambda表达式编程能力的方法
Sep 12 Javascript
在次封装easyui-Dialog插件实现代码
Nov 14 Javascript
基于jquery的textarea发布框限制文字字数输入(添加中文识别)
Feb 16 Javascript
简单的js表单验证函数
Oct 28 Javascript
移动端 一个简单易懂的弹出框
Jul 06 Javascript
Bootstrap3制作搜索框样式的方法
Jul 11 Javascript
Angularjs中使用layDate日期控件示例
Jan 11 Javascript
利用transition实现文字上下抖动的效果
Jan 21 Javascript
js+html制作简单验证码
Feb 16 Javascript
详解如何在React组件“外”使用父组件的Props
Jan 12 Javascript
js中this的指向问题归纳总结
Nov 28 Javascript
详解微信小程序实现跑马灯效果(附完整代码)
Apr 29 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
js不是基础的基础
2006/12/24 Javascript
js操作textarea方法集合封装(兼容IE,firefox)
2011/02/22 Javascript
javascript获取ckeditor编辑器的值(实现代码)
2013/11/18 Javascript
JQuery下拉框应用示例介绍
2014/04/23 Javascript
使用JavaScript获取地址栏参数的方法
2014/12/19 Javascript
javascript实现复选框超过限制即弹出警告框的方法
2015/02/25 Javascript
jquery插件ajaxupload实现文件上传操作
2015/12/09 Javascript
JavaScript操作选择对象的简单实例
2016/05/16 Javascript
详解js界面跳转与值传递
2016/11/22 Javascript
详解数组Array.sort()排序的方法
2020/05/09 Javascript
Angular2使用Angular CLI快速搭建工程(一)
2017/05/21 Javascript
jQuery实现广告条滚动效果
2017/08/22 jQuery
vue input标签通用指令校验的实现
2019/11/05 Javascript
利用Python演示数型数据结构的教程
2015/04/03 Python
在Django的通用视图中处理Context的方法
2015/07/21 Python
python实现下载指定网址所有图片的方法
2015/08/08 Python
Python如何实现守护进程的方法示例
2017/02/08 Python
python opencv 直方图反向投影的方法
2018/02/24 Python
python多维数组切片方法
2018/04/13 Python
解决Pycharm下面出现No R interpreter defined的问题
2018/10/29 Python
Python实现的逻辑回归算法示例【附测试csv文件下载】
2018/12/28 Python
对python函数签名的方法详解
2019/01/22 Python
Python3实现的简单三级菜单功能示例
2019/03/12 Python
numpy 矩阵形状调整:拉伸、变成一位数组的实例
2020/06/18 Python
为2021年的第一场雪锦上添花:用matplotlib绘制雪花和雪景
2021/01/05 Python
基于第一个PhoneGap(cordova)的应用详解
2013/05/03 HTML / CSS
Etam艾格英国官网:法国著名女装品牌
2019/04/15 全球购物
公司试用期员工自我评价
2014/09/17 职场文书
2014年煤矿安全工作总结
2014/12/04 职场文书
围城读书笔记
2015/06/26 职场文书
创业计划书之烤红薯
2019/09/26 职场文书
利用 SQL Server 过滤索引提高查询语句的性能分析
2021/07/15 SQL Server
MySQL中的隐藏列的具体查看
2021/09/04 MySQL
Java 超详细讲解十大排序算法面试无忧
2022/04/08 Java/Android
前端传参数进行Mybatis调用mysql存储过程执行返回值详解
2022/08/14 MySQL