Javascript 响应式滚动顶
我使用下面的代码来检测一个对象何时会变得“粘滞”,并在其内容中保持固定Javascript 响应式滚动顶,javascript,jquery,html,scrolltop,Javascript,Jquery,Html,Scrolltop,我使用下面的代码来检测一个对象何时会变得“粘滞”,并在其内容中保持固定 var $window = $(window), $stickyEl = $('#single-post-details'), elTop = $stickyEl.offset().top; $window.scroll(function() { $stickyEl.toggleClass('sticky', $window.scrollTop() + 52 > elTop); }); 然而
var $window = $(window),
$stickyEl = $('#single-post-details'),
elTop = $stickyEl.offset().top;
$window.scroll(function() {
$stickyEl.toggleClass('sticky', $window.scrollTop() + 52 > elTop);
});
然而,我想让这个回应。这意味着它需要首先检测横幅上方的高度,这样它就不会在错误的点触发 问题在于,在调整大小时,粘滞元素的顶部位置会发生变化。要解决此问题,不应检查图像的高度,而应重新计算顶部位置 这里可以使用
.resize
事件。在回调中,只需更新全局变量:
var $window = $(window),
$stickyEl = $('#single-post-details'),
elTop = $stickyEl.offset().top;
$window.on({
resize : function(){
elTop = $stickyEl.offset().top;
$window.trigger('scroll');
},
scroll : function() {
$stickyEl.toggleClass('sticky', $window.scrollTop() + 20 > elTop);
}
});
注意:触发器('scroll')对于防止粘性元素在展开窗口时越过图像非常重要
问题是,在调整大小时,粘滞元素的顶部位置会发生变化。要解决此问题,不应检查图像的高度,而应重新计算顶部位置 这里可以使用
.resize
事件。在回调中,只需更新全局变量:
var $window = $(window),
$stickyEl = $('#single-post-details'),
elTop = $stickyEl.offset().top;
$window.on({
resize : function(){
elTop = $stickyEl.offset().top;
$window.trigger('scroll');
},
scroll : function() {
$stickyEl.toggleClass('sticky', $window.scrollTop() + 20 > elTop);
}
});
注意:触发器('scroll')对于防止粘性元素在展开窗口时越过图像非常重要
问题是,在调整大小时,粘滞元素的顶部位置会发生变化。要解决此问题,不应检查图像的高度,而应重新计算顶部位置 这里可以使用
.resize
事件。在回调中,只需更新全局变量:
var $window = $(window),
$stickyEl = $('#single-post-details'),
elTop = $stickyEl.offset().top;
$window.on({
resize : function(){
elTop = $stickyEl.offset().top;
$window.trigger('scroll');
},
scroll : function() {
$stickyEl.toggleClass('sticky', $window.scrollTop() + 20 > elTop);
}
});
注意:触发器('scroll')对于防止粘性元素在展开窗口时越过图像非常重要
问题是,在调整大小时,粘滞元素的顶部位置会发生变化。要解决此问题,不应检查图像的高度,而应重新计算顶部位置 这里可以使用
.resize
事件。在回调中,只需更新全局变量:
var $window = $(window),
$stickyEl = $('#single-post-details'),
elTop = $stickyEl.offset().top;
$window.on({
resize : function(){
elTop = $stickyEl.offset().top;
$window.trigger('scroll');
},
scroll : function() {
$stickyEl.toggleClass('sticky', $window.scrollTop() + 20 > elTop);
}
});
注意:触发器('scroll')对于防止粘性元素在展开窗口时越过图像非常重要
使用脚本很难实现响应。你为什么不使用CSS?你的意思是这样的:?如果你缩放它并滚动文本,它就没有响应了image@PeterRader您建议如何在没有jquery和css的情况下使用sticky div?由于我不希望在1分钟内使用jqueryDid,所以我没有检查所有的可能性,但这就是您要问的吗?(此处的固定版本:)使用脚本很难实现响应。你为什么不使用CSS?你的意思是这样的:?如果你缩放它并滚动文本,它就没有响应了image@PeterRader您建议如何在没有jquery和css的情况下使用sticky div?由于我不希望在1分钟内使用jqueryDid,所以我没有检查所有的可能性,但这就是您要问的吗?(此处的固定版本:)使用脚本很难实现响应。你为什么不使用CSS?你的意思是这样的:?如果你缩放它并滚动文本,它就没有响应了image@PeterRader您建议如何在没有jquery和css的情况下使用sticky div?由于我不希望在1分钟内使用jqueryDid,所以我没有检查所有的可能性,但这就是您要问的吗?(此处的固定版本:)使用脚本很难实现响应。你为什么不使用CSS?你的意思是这样的:?如果你缩放它并滚动文本,它就没有响应了image@PeterRader您建议如何在没有jquery和css的情况下使用sticky div?由于我不希望在1分钟内使用jqueryDid,所以我没有检查所有的可能性,但这就是您要问的吗?(此处为固定版本:)