首页 web前端 js教程 jQuery固定浮动侧边栏实现思路及代码_jquery

jQuery固定浮动侧边栏实现思路及代码_jquery

May 16, 2016 pm 04:34 PM
侧边栏

这个功能现在应用的非常普遍,如果页面比较高,当滚动条拖到页面的下面的时候,侧边栏会出现一个固定跟随浏览器的DIV框,现思路是这样的:首先获取需要跟随的DIV距离页面顶部的距离,然后判断,当浏览器滚动的距离大于该DIV本身距离顶部距离的时候,则添加CSS属性fixed即可。

代码如下

HTML代码:

<div id="header">header</div>
<div id="sidebarWrap">
<div id="sidebar">Sidebar</div>
</div>
<div id="main">Main</div>
<div id="footer">footer</div>
登录后复制

CSS代码:

body {
margin: 10px auto;
font-family: sans-serif;
width: 500px;
}
div {
border-radius: 5px;
box-shadow: 1px 2px 5px rgba(0,0,0,0.3);
border: 1px solid #ccc;
padding: 5px;
}
#sidebarWrap {
height: 400px;
width: 210px;
float: right;
position: relative;
box-shadow: none;
border: none;
margin: 0;
padding: 0;
}
#main {
width: 270px;
height: 4000px;
}
#footer {
clear: both;
margin: 10px 0;
}
#sidebar {
width: 200px;
height: 300px;
position: absolute;
}
#header {
height: 200px;
margin-bottom: 10px;
}
#sidebar.fixed {
position: fixed;
top: 0;
}
#footer { height: 600px; }
#footer { height: 600px; }
登录后复制

JavaScript代码:

$(function() {
var top = $('#sidebar').offset().top - parseFloat($('#sidebar').css('marginTop').replace(/auto/, 0));
var footTop = $('#footer').offset().top - parseFloat($('#footer').css('marginTop').replace(/auto/, 0));

var maxY = footTop - $('#sidebar').outerHeight();

$(window).scroll(function(evt) {
var y = $(this).scrollTop();
if (y > top) {
if (y < maxY) {
$('#sidebar').addClass('fixed').removeAttr('style');
} else {
$('#sidebar').removeClass('fixed').css({
position: 'absolute',
top: (maxY - top) + 'px'
});
}
} else {
$('#sidebar').removeClass('fixed');
}
});
});
登录后复制
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

红米13c怎么开侧边栏? 红米13c怎么开侧边栏? Mar 19, 2024 am 11:19 AM

在红米13c这款智能手机上,开启侧边栏功能可以为用户提供更加便捷的操作体验。通过侧边栏,用户可以快速访问常用的应用程序、工具和设置选项,无需进入主屏幕或菜单界面。下面将介绍如何在红米13c上开启侧边栏功能,让您轻松享受更高效的手机使用体验。红米13c怎么开侧边栏?1、打开手机设置,从设置菜单中找到特色功能。2、在特色功能页面找到全局侧边栏。3、打开全局侧边栏即可。通过上述的简单步骤,您已经成功开启了红米13c手机的侧边栏功能。无论是查看日历、打开浏览器、调整亮度,还是快速切换到最近使用的应用,侧

如何使用Vue实现侧边栏特效 如何使用Vue实现侧边栏特效 Sep 19, 2023 pm 02:00 PM

如何使用Vue实现侧边栏特效Vue是一款流行的JavaScript框架,它的简单易用和灵活性使开发人员能够快速构建交互性强的单页面应用程序。在这篇文章中,我们将学习如何使用Vue来实现一个常见的侧边栏特效,同时提供具体的代码示例帮助我们更好地理解。创建Vue项目首先,我们需要创建一个Vue项目。可以使用Vue提供的VueCLI(命令行界面),它能够快速生成

Microsoft Edge 测试了一项新功能,以整理其在 Windows 11 上的体验 Microsoft Edge 测试了一项新功能,以整理其在 Windows 11 上的体验 Nov 07, 2023 pm 11:13 PM

Windows11上带有FluentDesign菜单的MicrosoftEdgeMicrosoft正在添加一项新功能…整理Edge有争议的功能之一——侧边栏,它可以停靠在Windows11和Windows10的右侧。MicrosoftEdgeCanary正在测试一项新功能或弹出窗口,该功能或弹出窗口会自动检测边栏中未使用的项目。Microsoft2022年11月将侧边栏添加到Edge,并承诺此功能可以提高您在Windows10上的工作效率,尤其是Copilot不附带的Wind

CSS实现侧边栏菜单特效的技巧和方法 CSS实现侧边栏菜单特效的技巧和方法 Oct 24, 2023 am 10:33 AM

CSS实现侧边栏菜单特效的技巧和方法近年来,随着网页设计的发展,侧边栏菜单成为了许多网页中常见的元素之一。无论是用于导航功能还是展示内容,都能给用户带来方便和更好的使用体验。本文将介绍一些常见的CSS技巧和方法,帮助你实现一个漂亮且具有特效的侧边栏菜单。一、基本布局和样式设置首先,我们需要设置侧边栏菜单的基本布局和样式。可以使用一个div元素来表示整个侧边栏

如何使用HTML和CSS设计一个现代的侧边栏菜单? 如何使用HTML和CSS设计一个现代的侧边栏菜单? Aug 31, 2023 pm 09:53 PM

当你考虑一个典型网站的布局时,很可能会在主要内容区域的右侧或左侧包含一列重要的链接(用于网页中各个部分的导航链接)。这个组件被称为“侧边栏”,通常用作网页上的菜单。虽然它被广泛使用,但开发人员通常将此元素添加到网站上,用于在页面之间导航,甚至导航到网页的不同部分。让我们了解这个功能,并尝试只使用HTML和CSS来创建一个现代的侧边栏。什么是侧边栏菜单?侧边栏是位于主要内容区域右侧或左侧的静态列。该组件包含网站中的导航链接、小部件或其他必要的链接(用于主页、内容或其他部分)。下面给出一个示例,演示

Vue开发中如何解决移动端侧边栏手势滑动问题 Vue开发中如何解决移动端侧边栏手势滑动问题 Jul 02, 2023 am 09:40 AM

Vue是一款流行的JavaScript框架,能够快速开发现代化的Web应用程序。它具有许多强大的功能,但在移动端开发中,有一个常见的问题是如何解决侧边栏手势滑动的问题。移动端应用通常会使用侧边栏来提供导航和其他功能。用户可以通过手势滑动来打开或关闭侧边栏。然而,由于移动设备自带的滚动行为,当用户在侧边栏上进行滑动操作时,页面往往会出现滚动的情况,而不是实现侧

360浏览器的侧边栏如何隐藏 360浏览器的侧边栏如何隐藏 Jan 31, 2024 am 10:36 AM

360浏览器的侧边栏如何隐藏?360浏览器侧边栏看着有点累赘,要如何隐藏起来,下面介绍详细方法!360浏览器有个侧边栏功能,里面会放一些收藏夹、邮件、微博、等功能,但是有些用户觉得这个侧边栏放在网页界面看起来很不清爽,影响浏览器体验想要隐藏起来,怎么操作呢?小编下面整理360浏览器的侧边栏如何隐藏方法步骤,不会的话,跟着我往下看吧!360浏览器的侧边栏如何隐藏1、打开360安全浏览器,点击。2、点击。3、勾选,这样就

CSS网页布局技巧:实现分栏和侧边栏的最佳实践 CSS网页布局技巧:实现分栏和侧边栏的最佳实践 Oct 24, 2023 am 08:01 AM

CSS网页布局技巧:实现分栏和侧边栏的最佳实践在开发网页时,一个常见的需求是实现分栏和侧边栏的布局。这种布局可以将页面内容划分为主要内容区域和边栏区域,使网页结构更清晰,提高用户体验。在本文中,我们将介绍一些实现分栏和侧边栏布局的最佳实践,并提供具体的代码示例。一、使用CSSGrid布局CSSGrid布局是一种强大且灵活的布局工具,可以轻松实现分栏和侧边

See all articles