javascript - jQuery | 在窗口滚动时保持顶部 div 元素在视图中
问题描述
我有一个带有类的 div 元素,.b-widget
并且出现在页面顶部。当 Iscroll down
时, div 消失,当 Iscroll up
再次出现时。我希望它在 i 时保持原位并在 iscroll down
时恢复scroll up
。
我在下面写道,script
但这也无济于事:
<script>
//keep element in view
(function($)
{
$(document).ready( function()
{
var elementPosTop = $('.b-widget').position().top;
$(window).scroll(function()
{
var wintop = $(window).scrollTop(), docheight = $(document).height(), winheight = $(window).height();
//if top of element is in view
if (wintop > elementPosTop)
{
//always in view
$('.b-widget').css({ "position":"fixed", "top":"50px" });
}
else
{
//reset back to normal viewing
$('.b-widget').css({ "position":"inherit" });
}
});
});
})(jQuery);
</script>
解决方案
像这样使用CSS:
.b-widget{
position: fixed;
width: 100%;
top: 0;
left: 0;
}
推荐阅读
- arrays - Ruby如何打印/放置读取的文件内容而不是一堆数字/符号
- prometheus - 如何在 prometheus 中存储每个作业或目标具有不同保留时间的数据?
- angular2-routing - 如何在 Angular 2 中将 app-routing.module.ts 拆分为多个文件?
- moodle - 在 Moodle 的左侧导航菜单中添加本地插件
- asp.net-web-api - 限制对所有 ASP.NET Web API 端点的访问,特定范围内的少数除外
- populate - 选择给定日期和标识符的最新值
- amazon-web-services - AWS Data Wrangler2.12.1 中的 wr.redshift.to_sql 失败
- android - 错误:您试图通过调用 firebase.app() 来使用未安装在您的 Android 项目上的 firebase 模块。反应原生
- node.js - How to update all the data that have same field without modify other data in mongoose?
- javascript - Handlebars.js 中花括号内的变量名