我通过 $.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 );
为什么 ?