JavaScript 跟随滚动插件:多元素固定与底部避让实现

作者:像素漫游

时间:2026-10-27

浏览:544

本文介绍一款轻量级 JavaScript 跟随滚动插件,支持通过 CSS fixed 属性实现多个元素的同步固定效果。插件兼容主流浏览器(IE6 除外),具备滚动至底部时的自动避让功能,防止内容覆盖页脚。此外,当窗口大小发生 resize 变化时,插件会自动重置参数以确保布局正确。

文章目录

插件功能概述

JavaScript 跟随滚动效果插件


该插件支持定义多个需要固定的元素 ID,底层采用 CSS 的 fixed 定位属性实现。目前版本不支持 IE6 浏览器,但兼容其他主流现代浏览器。


插件支持设置滚动到底部时的最小高度阈值,确保固定元素不会覆盖页面底部的内容区域。


当浏览器窗口大小发生 resize 变化时,插件会自动重新计算并重置相关参数,以适配新的布局尺寸。


=======

JavaScript 跟随滚动效果插件


1. 支持定义多个跟随 ID,采用 CSS fixed 属性,不支持 IE6,兼容其他主流浏览器。


2. 支持定义滚动到底部的最小高度,不会覆盖底部。


3. 页面大小 resize 后,插件会自动重置参数。


=======

使用示例与代码实现

使用方法


代码如下


 

代码如下:

<script type="text/javascript" src="follow.js"></script>
window.onload = function(){
var followIds = [document.getElementById("follow"),document.getElementById("follow2")];
new Follow({
obj:followIds,
bottom:150
 });
}

完整实例


代码如下


 

代码如下:

<!DOCTYPE html>
<html lang="zh-CN">
<head profile="http://gmpg.org/xfn/11">
<meta charset="UTF-8">
<title>Js Follow</title>
<style>
html,body{width:100%;margin:0;padding:0;}
div{padding:0;margin:0;text-align:center;font-size:40px;font-weight:bold;color:#fff;}
.clear:after{content:"";display:block;height:0;clear:both;visibility: hidden;overflow:hidden;}
.clear{*zoom:1;}
.wrap{width:1000px;margin:0 auto;}
.header{width:100%;background:#1BA1E2;height:200px;line-height:300px;}
.footer{width:100%;background:#666;height:150px;line-height:100px;}
.content{width:100%;margin:0 auto;background:#aaa;}
.left{width:70%;float:left;background:#8CBF26;}
.text{padding:50px;text-align:left;word-break:break-all;line-height:36px;font-size:16px;font-weight:normal;}
.right{width:30%;float:left;}
.aside{padding:10px 0px;margin-top:50px;background:#F09609;width:300px;height:150px;}
.aside2{padding:10px 0px;background:#DB4F33;}
</style>
</head>
<body>
<div class="wrap">
<div class="header">Header</div>
<div class="content clear">
<div class="left">
<div class="text">
使用方法:<br/>
1.载入插件,在页面载入之后,window.onload = function(){}<br/>
2.创建需要跟随的对象的数组,比如 var followIds = [document.getElementById("follow"),document.getElementById("follow2")];<br/>
3.初始化Follow:new Follow();<br/>
4.传参,obj是对象数组,bottom是滚动块距离底部的最小的高度<br/>
<hr/>
<pre style="word-break:break-all;word-wrap:break-word;width:600px;">
&lt;script type="text/javascript" src="follow.js"&gt;&lt;/script&gt;
window.onload = function(){
var followIds = [document.getElementById("follow"),document.getElementById("follow2")];
new Follow({
obj:followIds,
bottom:150
 });
}
</pre>
</div>
<br/><br/><br/><br/><br/><br/><br/><br/><br/>
</div>
<div class="right">
<div class="aside" id="follow">
跟随滚动<br/>模块1
</div>
<div class="aside2" id="follow2">
跟随滚动<br/>模块2
</div>
</div>
</div>
<div class="footer">Footer</div>
</div>
<script type="text/javascript" src="follow.min.js"></script>
<script>
window.onload = function(){
var followIds = [document.getElementById("follow"),document.getElementById("follow2")];
new Follow({
obj:followIds,
bottom:150
 });
}
</script>
</body>
</html>
 

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章