当到达某个元素时,此函数将添加所需的类,但之后元素似乎会不断抖动。在scroll上应用类的这种方式是否有问题?这是一个演示(如果需要,请缩小窗口大小,以便您可以滚动浏览内容):https://codepen.io/anon/pen/ooZZja
$(function() {
$(window).scroll(function() {
var scroll = $(window).scrollTop();
var os = $(".header").offset().top;
var ht = $(".header").height();
if (scroll > os + ht) {
$(".header").addClass("is-fixed");
} else {
$(".header").removeClass("is-fixed");
}
});
});
将表格行更改为“固定”会影响测量,并且会在两种状态之间不断切换。我会复制行并在需要时显示它。
<p><div>Lorem ipsum dolor sit amet consectetur, adipisicing elit. Eligendi explicabo dolore odit facilis debitis ducimus repudiandae vero? Dolore ab id suscipit repudiandae quidem, atque recusandae! Impedit blanditiis tempora illum optio?</div></p>
<p><div>Lorem ipsum dolor sit amet consectetur, adipisicing elit. Eligendi explicabo dolore odit facilis debitis ducimus repudiandae vero? Dolore ab id suscipit repudiandae quidem, atque recusandae! Impedit blanditiis tempora illum optio?</div></p>
<p><div>Lorem ipsum dolor sit amet consectetur, adipisicing elit. Eligendi explicabo dolore odit facilis debitis ducimus repudiandae vero? Dolore ab id suscipit repudiandae quidem, atque recusandae! Impedit blanditiis tempora illum optio?</div></p>
<p><div>Lorem ipsum dolor sit amet consectetur, adipisicing elit. Eligendi explicabo dolore odit facilis debitis ducimus repudiandae vero? Dolore ab id suscipit repudiandae quidem, atque recusandae! Impedit blanditiis tempora illum optio?</div></p>
<p><div>Lorem ipsum dolor sit amet consectetur, adipisicing elit. Eligendi explicabo dolore odit facilis debitis ducimus repudiandae vero? Dolore ab id suscipit repudiandae quidem, atque recusandae! Impedit blanditiis tempora illum optio?</div></p>
<table>
<tbody>
<tr class="header">
<th>1</th>
<th id="day-in-week-0">Mon</th>
<th id="day-in-week-1">Tue</th>
<th id="day-in-week-2">Wed</th>
<th id="day-in-week-3">Thu</th>
<th id="day-in-week-4">Fri</th>
<th id="day-in-week-5">Sat</th>
<th id="day-in-week-6">Sun</th>
</tr>
<tr class="is-fixed" style="display:none;">
<th>1</th>
<th id="day-in-week-0">Mon</th>
<th id="day-in-week-1">Tue</th>
<th id="day-in-week-2">Wed</th>
<th id="day-in-week-3">Thu</th>
<th id="day-in-week-4">Fri</th>
<th id="day-in-week-5">Sat</th>
<th id="day-in-week-6">Sun</th>
</tr>
</tbody>
</table>
<p><div>Lorem ipsum dolor sit amet consectetur, adipisicing elit. Eligendi explicabo dolore odit facilis debitis ducimus repudiandae vero? Dolore ab id suscipit repudiandae quidem, atque recusandae! Impedit blanditiis tempora illum optio?</div></p>
<p><div>Lorem ipsum dolor sit amet consectetur, adipisicing elit. Eligendi explicabo dolore odit facilis debitis ducimus repudiandae vero? Dolore ab id suscipit repudiandae quidem, atque recusandae! Impedit blanditiis tempora illum optio?</div></p>
<p><div>Lorem ipsum dolor sit amet consectetur, adipisicing elit. Eligendi explicabo dolore odit facilis debitis ducimus repudiandae vero? Dolore ab id suscipit repudiandae quidem, atque recusandae! Impedit blanditiis tempora illum optio?</div></p>
<p><div>Lorem ipsum dolor sit amet consectetur, adipisicing elit. Eligendi explicabo dolore odit facilis debitis ducimus repudiandae vero? Dolore ab id suscipit repudiandae quidem, atque recusandae! Impedit blanditiis tempora illum optio?</div></p>
<p><div>Lorem ipsum dolor sit amet consectetur, adipisicing elit. Eligendi explicabo dolore odit facilis debitis ducimus repudiandae vero? Dolore ab id suscipit repudiandae quidem, atque recusandae! Impedit blanditiis tempora illum optio?</div></p>
<p><div>Lorem ipsum dolor sit amet consectetur, adipisicing elit. Eligendi explicabo dolore odit facilis debitis ducimus repudiandae vero? Dolore ab id suscipit repudiandae quidem, atque recusandae! Impedit blanditiis tempora illum optio?</div></p>
<p><div>Lorem ipsum dolor sit amet consectetur, adipisicing elit. Eligendi explicabo dolore odit facilis debitis ducimus repudiandae vero? Dolore ab id suscipit repudiandae quidem, atque recusandae! Impedit blanditiis tempora illum optio?</div></p>
<p><div>Lorem ipsum dolor sit amet consectetur, adipisicing elit. Eligendi explicabo dolore odit facilis debitis ducimus repudiandae vero? Dolore ab id suscipit repudiandae quidem, atque recusandae! Impedit blanditiis tempora illum optio?</div></p>
css
.is-fixed {
position: fixed;
top: 0;
background-color: yellow;
display:table-row;
}
Javascript
$(function(){
$(window).scroll(function() {
var scroll = $(window).scrollTop();
var os = $(".header").offset().top;
var ht = $(".header").height();
if(scroll > os + ht){
$('.is-fixed').show()
} else {
$('.is-fixed').hide();
}
});
});
你可以用css来做,用位置:粘;
.is-fixed {
position: sticky;
position: -webkit-sticky;
top: 0;
background-color: yellow;
}
并将该类应用于表
<table class='is-fixed'>
工作示例:代码笔
当前代码的问题是:
因为您的固定类可能会删除内容并更改高度
正如@epascarello在评论中告诉你的
您正在计算滚动时标题的偏移量。因为您将位置设置为固定位置,它将发生变化,计算不再有效。在将滚动事件附加到窗口对象之前,您需要保存标题元素的初始位置。
我还添加了一个“幽灵元素”,所以在你固定了标题元素后,你的内容高度不会改变。如果固定元素从其位置脱离,重影元素将占据空间。
叉笔:https://codepen.io/anon/pen/GOWWwo
超文本标记语言:
<tr class="header">
<th>1</th>
<th id="day-in-week-0">Mon</th>
<th id="day-in-week-1">Tue</th>
<th id="day-in-week-2">Wed</th>
<th id="day-in-week-3">Thu</th>
<th id="day-in-week-4">Fri</th>
<th id="day-in-week-5">Sat</th>
<th id="day-in-week-6">Sun</th>
</tr>
<tr class="ghost"></tr>
CSS:
.header:not(.is-fixed) + .ghost {
display: none;
}
JavaScript:
$(function(){
var os = $(".header").offset().top;
var ht = $(".header").height();
$('.header + .ghost').css({
height: ht + 'px'
});
$(window).scroll(function() {
var scroll = $(window).scrollTop();
if (scroll > os + ht){
$('.header').addClass('is-fixed');
} else {
$('.header').removeClass('is-fixed');
}
});
});
自动故障剔除会自动监控 RPC 调用的情况,对故障节点进行权重降级,并在节点恢复健康时进行权重恢复。目前支持 bolt 协议。 在 SOFABoot 中,只需要配置自动故障剔除的参数到 application.properties 即可。可以不完全配置,只配置自己关心的参数,其余参数会取默认值。需要注意的是 com.alipay.sofa.rpc.aft.regulation.effective
集群中通常一个服务有多个服务提供者。其中部分服务提供者可能由于网络,配置,长时间 fullgc ,线程池满,硬件故障等导致长连接还存活但是程序已经无法正常响应。单机故障剔除功能会将这部分异常的服务提供者进行降级,使得客户端的请求更多地指向健康节点。当异常节点的表现正常后,单机故障剔除功能会对该节点进行恢复,使得客户端请求逐渐将流量分发到该节点。单机故障剔除功能解决了服务故障持续影响业务的问题,避免
初始设置 在创建并启动新的 Serene 应用程序之后,不能显示登录页,而当你打开浏览器控制台,却得到一条错误消息:找不到 Template.LoginPanel: 你可能使用了无效的解决方案名称,如 MyProject.Something (包含点’.’)。 当项目以这种方式命名时,模板系统将不能定位模板。 请不要在解决方案名称中使用点符号(’.’),如果必须使用点符号,可在创建解决方案之后再重
当使用 Gradle 时, 你肯定会碰到许多问题. 解决遇到的问题 如果你碰到了问题, 首先要确定你使用的是最新版本的 Gradle. 我们会经常发布新版本, 解决一些 bug 并加入新的功能. 所以你遇到的问题可能就在新版本里解决了. 如果你正在使用 Gradle Daemon, 先暂时关闭 daemon (你可以使用 switch —no-daemon 命令). 在第19章我们可以了解到更多关
在Debian和Ubuntu上,当您安装标准的FreeRADIUS软件包时,FreeRADIUS服务器二进制文件称为freeradius而不是radiusd。 您可以创建将使用较慢服务器的ldap模块的命名实例。 然后,您可以使用冗余部分替换authorize部分中的ldap条目,该冗余部分首先使用快速LDAP服务器列出模块,然后使用较慢的部分使用ldap模块实例。 #ldap redundant
Mount 5 Error mount 5 错误通常是 MDS 服务器滞后或崩溃导致的。要确保至少有一个 MDS 是启动且运行的,集群也要处于 active+healthy 状态。 Mount 12 Error mount 12 错误显示 cannot allocate memory ,常见于 Ceph 客户端和 Ceph 存储集群版本不匹配。用以下命令检查版本: ceph -v 如果 Ceph