Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使浮动边栏在加载ajax内容时继续浮动_Javascript_Jquery_Ajax_Sidebar_Sticky - Fatal编程技术网

Javascript 如何使浮动边栏在加载ajax内容时继续浮动

Javascript 如何使浮动边栏在加载ajax内容时继续浮动,javascript,jquery,ajax,sidebar,sticky,Javascript,Jquery,Ajax,Sidebar,Sticky,我是一个真正的js高手,所以问题如下 我有一个浮动侧边栏,当它到达页脚时停止浮动。js代码如下所示: $(window).load(function(){ $(function() { var top = $('#sidebar').offset().top - parseFloat($('#sidebar').css('marginTop').replace(/auto/, 0)); var footTop = $('#footer').offset()

我是一个真正的js高手,所以问题如下

我有一个浮动侧边栏,当它到达页脚时停止浮动。js代码如下所示:

$(window).load(function(){
    $(function() {
        var top = $('#sidebar').offset().top - parseFloat($('#sidebar').css('marginTop').replace(/auto/, 0));
        var footTop = $('#footer').offset().top - parseFloat($('#footer').css('marginTop').replace(/auto/, 0));

        var maxY = footTop - $('#sidebar').outerHeight();

        $(window).scroll(function(evt) {
            var y = $(this).scrollTop();
            if (y > top) {
                if (y < maxY) {
                    $('#sidebar').addClass('fixed').removeAttr('style');
                } else {
                    $('#sidebar').removeClass('fixed').css({
                        position: 'absolute',
                        top: (maxY - top) + 'px'
                    });
                }
            } else {
                $('#sidebar').removeClass('fixed');
            }
        });
$(窗口).load(函数(){
$(函数(){
var top=$('sidebar').offset().top-parseFloat($('sidebar').css('marginTop').replace(/auto/,0));
var footTop=$('footer').offset().top-parseFloat($('footer').css('marginTop').replace(/auto/,0));
var maxY=footTop-$(“#边栏”).outerHeight();
$(窗口)。滚动(功能(evt){
var y=$(this.scrollTop();
如果(y>顶部){
if(y
在我实现ajax分页和内容加载之前,这一切都很好。 侧边栏仅在我查看第一页时滚动,当第二页通过ajax加载时,侧边栏不会滚动。您可以看到它


你知道我需要在代码中更改哪些内容才能使其正常工作吗?

问题在于你只初始化了一次
maxY
footTop
。当你扩展文档时,它们需要更改。你可能会在每次出现滚动时重新计算它们。

问题在于你初始化了它们
maxY
footTop
仅一次。在扩展文档时,它们需要更改。每次出现滚动时,您可能会重新计算它们。

此选项可能会帮助您查找内容


这本书可能会帮你找到你想要的东西


在ajax成功后再次调用滚动函数如何执行此操作?我不知道JS在ajax成功后再次调用滚动函数如何执行此操作?我不知道JS您能否详细解释我如何执行此操作?您能否详细解释我如何执行此操作?