我有这个jquery片段,当向下滚动时,元素在顶部保持可见:
var $window = $(window),
$stickyEl = $('.rightcol'),
elTop = $stickyEl.offset().top;
$window.scroll(function() {
var windowTop = $window.scrollTop();
$stickyEl.toggleClass('sticky', windowTop > elTop);
});
CSS:
.rightcol.sticky {
position: fixed;
top: 0;
}
当我滚动右列时确实保持在顶部,但是它向左移动,它应该在右边,在滚动或onpage加载之前元素应该放在第一个位置。 我该如何解决这个问题。
答案 0 :(得分:0)
您的问题是您已将滚动元素设置为float: right
并将其设置为position: fixed
,这将与浮点数相矛盾。
当您设置元素的float
属性时,您告诉文档的其余部分适合该元素周围的其他内容。
将元素的position
属性设置为fixed
或absolute
时,将其从文档的正常流程中删除。这意味着元素消耗的空间将不再被考虑,即它不会影响其他元素。这意味着如果除了固定定位之外还尝试设置浮点数,则文档的其余部分将不会在元素周围流动,因为不会考虑元素的空间。
看看这些: