Jquery ajax调用后滚动div出错

Jquery ajax调用后滚动div出错,jquery,ajax,Jquery,Ajax,我在右边的边栏上有一个滚动div。它保持在另一个静态div之下。 当我上下滚动时,它工作正常,它总是保持在静态div之下。 但是,当我使用ajax将更多数据加载到页面中,然后将页面滚动到顶部时,这个滚动div将保持在静态div的上方。 有人能帮我解决这个问题吗 编辑3:调用ajax后,我再次绑定滚动函数,它就可以工作了。 问题解决了 编辑2: 我发现了问题:在调用ajax之后,$(document).scrollTop()在滚动页面时不会返回新值。现在如何获取scrollTop()值 编辑: 这

我在右边的边栏上有一个滚动div。它保持在另一个静态div之下。 当我上下滚动时,它工作正常,它总是保持在静态div之下。 但是,当我使用ajax将更多数据加载到页面中,然后将页面滚动到顶部时,这个滚动div将保持在静态div的上方。 有人能帮我解决这个问题吗

编辑3:调用ajax后,我再次绑定滚动函数,它就可以工作了。 问题解决了

编辑2: 我发现了问题:在调用ajax之后,$(document).scrollTop()在滚动页面时不会返回新值。现在如何获取scrollTop()值

编辑: 这是我的滚动div处理代码:

var init_pos_y = null;
var right_column_height = null;
var margin_top = 20;
var top_position = null;
var left_position = null;
var position_type = null;
var AdsHeight = $('#ads_follow').height();
function absoluteBottomPositionWindow()
{
    return $(document).scrollTop() + windowHeight();
}
function absoluteTopPositionWindow()
{
    return $(document).scrollTop();
}
function absoluteTopPositionAds()
{
    if (top_position != null && position_type != null && position_type != 'fixed')
        return top_position;
    else
    {
        offset_ads = $('#ads_follow').offset();
        return offset_ads.top - margin_top;
    }
}
function absoluteBottomPositionAds()
{
    if (top_position != null && position_type != null && position_type != 'fixed')
        return top_position + $('#ads_follow').height();
    else
    {
        offset_ads = $('#ads_follow').offset();
        return offset_ads.top + $('#ads_follow').height();
    }
}
function absoluteLeftPositionRightContainer()
{
    offset_ads = $('#right-boxes').offset();
    return offset_ads.left;
}
function absoluteBottomPositionRightContainer()
{
    offset_right_column = $('#right-boxes').offset();
    return offset_right_column.top + $('#right-boxes').height() + 30;
}
function windowHeight()
{
    return $(window).height();
}
function absoluteBottomPositionContent()
{
    offset_left_column = $('#left-column-content').offset();
    return offset_left_column.top + $('#left-column-content').height() + 30;
}
$(window).resize(function()
{
    if ($('#ads_follow').css('position') == 'absolute' || $('#ads_follow').css('position') == 'fixed')
        $('#ads_follow').css('left', absoluteLeftPositionRightContainer() + 'px');
});
$(window).scroll(function()
{
    if (right_column_height == null)
    {
        right_column_height = (absoluteBottomPositionRightContainer());
    }
    if (right_column_height < absoluteBottomPositionContent())
    {
        if (init_pos_y == null)
        {
            init_pos_y = absoluteTopPositionAds();
        }
        if (absoluteTopPositionWindow() <= init_pos_y)
        {
            position_type = 'static';
        }
        else if (absoluteTopPositionWindow() >= absoluteTopPositionAds() && position_type != 'fixed' && position_type != 'absolute')
        {
            top_position = margin_top;
            left_position = absoluteLeftPositionRightContainer();
            position_type = 'fixed'
        }
        if ((absoluteBottomPositionContent() - AdsHeight - margin_top) < absoluteTopPositionAds())
        {
            if ($('#ads_follow').css('position') != 'absolute')
            {
                top_position = absoluteBottomPositionContent() - AdsHeight;
                left_position = absoluteLeftPositionRightContainer();
                position_type = 'absolute';
            }
        }
        else if (absoluteTopPositionWindow() - margin_top < absoluteTopPositionAds() && position_type == 'absolute')
        {
            top_position = margin_top;
            left_position = absoluteLeftPositionRightContainer();
            position_type = 'fixed';
        }
        if (position_type != null)
            $('#ads_follow').css('position', position_type);
        if (left_position != null)
            $('#ads_follow').css('left', left_position + 'px');
        if (top_position != null)
            $('#ads_follow').css('top', top_position + 'px');
        left_position = null;
        top_position = null;
    }
});
var init_pos_y=null;
var right\u column\u height=null;
var保证金_top=20;
var top_位置=空;
var left_position=null;
var位置\ U类型=空;
var AdsHeight=$('ads#u follow').height();
函数absoluteBottomPositionWindow()
{
return$(document.scrollTop()+windowHeight();
}
函数absoluteTopPositionWindow()
{
return$(document.scrollTop();
}
函数绝对位置ads()
{
如果(顶部位置!=null和位置类型!=null和位置类型!=fixed)
返回顶部位置;
其他的
{
offset_ads=$('#ads_follow')。offset();
返回偏移量\u ads.top-边距\u top;
}
}
函数absoluteBottomPositionAds()
{
如果(顶部位置!=null和位置类型!=null和位置类型!=fixed)
返回顶部位置+$('ads_follow')。高度();
其他的
{
offset_ads=$('#ads_follow')。offset();
返回偏移量_ads.top+$(“#ads_follow”).height();
}
}
函数absoluteLeftPositionRightContainer()
{
offset_ads=$(“#右框”).offset();
返回偏移量_ads.left;
}
函数absoluteBottomPositionRightContainer()
{
offset_right_column=$(“#右框”).offset();
返回偏移量_right_column.top+$(“#右框”).height()+30;
}
函数windowHeight()
{
返回$(window.height();
}
函数absoluteBottomPositionContent()
{
offset_left_column=$('#left column content')。offset();
返回偏移量_left_column.top+$(“#left column content”).height()+30;
}
$(窗口)。调整大小(函数()
{
if($('ads_follow').css('position')='absolute'| |$('ads_follow').css('position')='fixed')
$('ads#u follow').css('left',absoluteLeftPositionRightContainer()+'px');
});
$(窗口)。滚动(函数()
{
if(右列高度==null)
{
右_列_高度=(absoluteBottomPositionRightContainer());
}
if(右\列\高度
这是我将更多数据加载到页面的代码

$(window).scroll(function() {
    scrollFunc();
});


function scrollFunc()
{
    if ($(window).scrollTop() == ($(document).height() - $(window).height())) {
        var offset = $('[id^="container-img-"]').length;
        $(window).unbind("scroll");

        if (offset < 15)
        {
            $("#seeMore").hide();
            $("#loadingPhoto").show();
            loadMoreRecords(offset);
        }
        else
        {
            $("#seeMore").show();
        }

    }

}


function loadMoreRecords(offset) {
    $.ajax({
        type: 'POST',
        url: getBaseURL() + 'ajax/loadMorePhoto',
        data: {
            offset: offset,
            currentpage: $("#currentPage").val()
        },
        success: function(data) {
            $("#loadingPhoto").hide();
            $("#listPhoto").html($("#listPhoto").html() + data);
        },
        error: function(data) {
            $("#loadingPhoto").hide();
            alert("Error loading photos");
        }

    }).done(function() {

        $(window).bind("scroll", function() {
            scrollFunc();

        });
    });

}
$(窗口)。滚动(函数(){
scrollFunc();
});
函数scrollFunc()
{
if($(窗口).scrollTop()==($(文档).height()-$(窗口).height()){
var offset=$('[id^=“container img-“]')。长度;
$(窗口)。解除绑定(“滚动”);
如果(偏移量<15)
{
$(“#seeMore”).hide();
$(“#加载照片”).show();
加载记录(偏移);
}
其他的
{
$(“#seeMore”).show();
}
}
}
函数loadMoreRecords(偏移量){
$.ajax({
键入:“POST”,
url:getBaseURL()+'ajax/loadMorePhoto',
数据:{
抵销:抵销,
当前页面:$(“#当前页面”).val()
},
成功:功能(数据){
$(“#加载照片”).hide();
$(“#listPhoto”).html($(“#listPhoto”).html()+数据);
},
错误:函数(数据){
$(“#加载照片”).hide();
警报(“加载照片时出错”);
}
}).done(函数(){
$(窗口).bind(“滚动”,函数(){
scrollFunc();
});
});
}

看起来像是AJAX加载内容的CSS问题。您好,我试图仅通过AJAX加载“
”,但仍然存在此问题。请发布到JSFIDLE的链接,演示不希望出现的行为。我们需要查看生成的HTML和cssHi,我发现在调用AJAX之后,编辑滚动div位置的javascript代码不能将位置从固定更改为静态。有人能帮我解决吗?我已经在上面提供了我的滚动div处理代码。