切换位置根据滚动位置固定

2023-12-01

我有以下代码,它修复了菜单将要滚动到页面顶部的位置。

$(function () {
    var msie6 = $.browser == 'msie' && $.browser.version < 7;
    if (!msie6) {
    var top = $('.menu').offset().top - parseFloat($('.menu').css('margin-top').replace(/auto/, 0));
    $(window).scroll(function (event) {
    var y = $(this).scrollTop();
    if (y >= top) {
    $('.menu').addClass('fixed');
    } else {
    $('.menu').removeClass('fixed');
    }
    });
    }
}); 

css

.container {
    width:400px; 
    margin:auto;
}

.header {
    background-color:#096; 
    height:150px;
}

.fixed {
    position:fixed;
    top:0px;
    left:50%;
    margin-left:50px;
}

.bodyContainer {
    overflow:hidden;
}

.menu {
    float:right; 
    width:150px; 
    height:250px; 
    background-color:#F00;
}

.bodyCopy {
    float:left; 
    width:250px; 
    height:1000px;
}

.footer {
    background-color:#096; 
    height:250px;
}

HTML

<div class="container">

<div class="header">
    <p>Test Header</p>
</div>

<div class="bodyContainer">

    <div class="menu">
        <p>test</p>
    </div>

    <div class="bodyCopy">
        <p>test</p>
    </div>

</div>


<div class="footer">
    <p>Test Footer</p>
</div>

我现在想做的是当用户到达页面底部时让它再次开始滚动(这样它就不会覆盖页面中的页脚)。

jsfiddle在这里...


这是 css3 的新方法。

use position:sticky跟随滚动。

这里是文章的解释。

http://updates.html5rocks.com/2012/08/Stick-your-landings-position-sticky-lands-in-WebKit

和这样做的旧方法demo

with 粘性位置演示

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

切换位置根据滚动位置固定 的相关文章

随机推荐

  • 具有通用服务的 Service Fabric

    我希望有一个通用类型的服务 即 public interface IFooService
  • LinkedIn API 2 和来自 r_basicprofile 的 VanityName

    LinkedIn 最近更新了他们的 API 现在我无法获取公共用户个人资料 url 通过虚名 在 OAuth2 身份验证阶段 好像r 基本配置文件不再可用 有没有机会获得这个网址 如果有的话 您能描述一下如何获得吗 根据以下 LinkedI
  • print() 在 Opera 浏览器上不起作用

    我正在尝试使用 JavaScript 在 Opera 浏览器中打开打印对话框 这print 在所有浏览器中都工作正常 但在 Opera 中却不起作用 我的print 代码为 var printContent document getElem
  • PHP MySQLi 从 multi_query() 插入 id

    有没有办法在使用 mysqli multi query 函数插入几行后获取最后生成的 auto increment ID EDIT 我设法通过添加 SELECT LAST INSERT ID 使其工作 在多查询中的每个 INSERT 查询之
  • 如何从文本中提取数字? [复制]

    这个问题在这里已经有答案了 我有流动的文本字符串 string lt CBOE SHORT TERM VIX FUTURE DEC 2016 81 64 n n CBOE SHORT TERM VIX FUTURE JAN 2017 18
  • 在带有 UDF 的单元格公式中使用内置枚举

    我有一个用户定义的函数 它采用一个具有关联内置函数的参数enum Public Function bgrcolor cells rng As Range xlcl As Long As Integer 我想在单元格中写一个这样的公式 bgr
  • 如何将从外部作用域调用的方法存根到被测函数?

    我有一个使用 node redis 库创建的 Redis 客户端 https github com NodeRedis node redis var client require redis createClient 6379 localh
  • BCP 数据文件中遇到意外的 EOF

    我正在尝试使用 bcp 将数据从一个表复制到另一个数据库中的另一个表 首先使用创建格式文件 bcp dbName1 dbo tableName1 format nul S serverName1 T f D tableName1 fmt t
  • 为 ZBarReaderViewController 添加 uibarbutton

    我正在 ZBarReader 上工作 到目前为止我所拥有的是 ZBarReaderViewController controller ZBarReaderViewController alloc init controller naviga
  • Django 的 FormWizard 中的空 ModelFormset

    我正在使用 Django 的 FormWizard 它工作正常 但我无法正确显示任何空模型表单集 我有一个模型叫Domain 我正在创建一个像这样的 ModelFormset DomainFormset modelformset facto
  • JSF f:事件执行顺序

    假设我有多个 f event 标签来处理同一类型的事件
  • 合并不同长度的python列表

    我正在尝试合并两个 python 列表 其中给定索引处的值将在新列表中形成一个列表 元素 例如 merge lists 1 2 3 4 1 5 1 1 2 5 3 4 我可以迭代这个函数来组合更多的列表 实现这一目标最有效的方法是什么 编辑
  • 带有 Maven 的 Eclipse 的 Java 存储库:缺少工件:编译

    我正在尝试整合jersey server和grizzly servlet webserver进入我的 Maven Webapp 来尝试地狱世界JAX RS 不幸的是 Jersey 和 Grizzly 依赖项很麻烦并且无法正常工作 我尝试删除
  • 检查 ASP.NET 中的连接是否处于活动状态

    我的工作是Comet用 ASP NET 编写的应用程序 有一系列活动连接上下文 HttpContext 并且有一个线程应该定期迭代集合并检查它们的状态 所以应用程序架构不是每个请求一个线程 检查连接是否处于活动状态 未被远程主机关闭 的最佳
  • 如何使用 AJAX 数据验证创建 JSF 表单

    我正在开发一个 JSF 表单原型 用于使用 AJAX 数据验证将数据插入数据库表这是 JSF 页面
  • 更改锁定的单元格

    我正在使用 VBA 代码来获取总和 但当单元格被锁定时它不起作用 我希望没有人可以手动更改特定单元格的值 但 VBA 代码可以更改该值 我的代码是 Sub Get Sum Dim LastRow As Long LastRow Range
  • 使用外部按钮离线导出 Highcharts 图表

    在此 Highcharts 图表中目标是使用图表外部的按钮进行离线导出 我遇到的问题是 即使我添加了offline exporting js文件到我的申请表 如果我是not当我单击时已连接到互联网Offline Export按钮我收到错误消
  • TensorFlow的目标剪枝找不到节点

    我使用 TensorFlow API 编写了一个 Python 脚本 其中包括SummaryWriter它会转储图形定义 以便我可以在 TensorBoard 中查看它 运行脚本时 会出现一个NotFoundError被抛出说PruneFo
  • 进程无法访问该文件,因为该文件正在被另一个进程使用

    我正在使用 ASP NET Webforms 和 C 在一页上 我单击 提交 以在服务器上创建一个文件 File Create Server MapPath ConfigurationManager AppSettings LandingP
  • 切换位置根据滚动位置固定

    我有以下代码 它修复了菜单将要滚动到页面顶部的位置 function var msie6 browser msie browser version lt 7 if msie6 var top menu offset top parseFlo