1

我通过 $.load() 函数加载了一个 DIV。完成后,我执行 $('#my_div').scrollTop(0);

它有效,内容从第一行可见,但是,这就是问题所在,从浏览器添加以允许用户滚动 div 内容的左侧滚动条没有移动,它保持在 .scrollTop() 之前的位置。

因此,如果我的用户手动向下滚动到底部,然后要求刷新数据,则数据将被刷新,并且内容将从第一行可见,但滚动条仍位于底部,因此如果用户单击,则内容将向下滚动到底部!

有没有办法强制浏览器重绘 div 或做些什么来让滚动条滚动到顶部?

编辑 1:我试图从 dom 中删除 div 本身,添加“加载”文本,然后在加载完成后重新创建,但没有任何变化......

编辑 2:我没有在页面顶部滚动,它是一种模式(我正在使用 twitter 引导程序)

编辑 3:这是我的模式

<!-- Modal di verifica duplicati -->
<div id="fullDataModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="fullDataModal" aria-hidden="true">
    <div class="modal-body">
        <i class="icon-spinner icon-spin"></i> 
    </div>
    <div class="modal-footer">
        <button class="btn" data-dismiss="modal" aria-hidden="true"><?php echo Yii::t('General','close'); ?></button>
    </div>
</div>

这是javascript代码

        $("DIV#fullDataModal DIV.modal-body")
            .load ("'. $this->createUrl("view", array("ajax" => true, "id" => $model->id))  .'"+contact_id, function(){
                $("DIV.modal-body").scrollTop( 0 );
            });

请注意:意外这有效!

$("DIV.modal-body").scrollTop( 1 );

为什么 ?

4

2 回答 2

2

尝试这个

$(document).scrollTop($('#my_div').offset().top);
于 2013-06-17T08:43:32.150 回答
1

基于 scrollTop(1) 解决方法,以下工作:

$("#mydiv").scrollTop(1).scrollTop(0)
于 2016-06-10T22:35:07.660 回答