我最终选择了一个主要是 CSS 的解决方案,类似于 @Marcin Skórzewski 的建议。
当窗口的高度小于元素的高度时,这只是添加了一个新类。
var sizeTimer;
$(window).on("resize", function() {
    clearTimeout(sizeTimer);
    sizeTimer = setTimeout(function() {
        var isWindowTallEnough = $overviewContainer.height() + 20 < $(window).height();
        if (isWindowTallEnough) {
            $overviewContainer.removeClass("affix-force-top");
        } else {
            $overviewContainer.addClass("affix-force-top");
        }
    }, 300);
});
然后在 CSS 中,刚刚添加了这个类:
.affix-force-top{
    position:absolute !important;
    top:auto !important;
    bottom:auto !important;
}
编辑
对于引导程序 3,这似乎是有效的:
$(window).off('.affix');
$("#my-element")
    .removeClass("affix affix-top affix-bottom")
    .removeData("bs.affix");