我正在通过$ .load()函数加载DIV。 完成后,我执行$('#my_div')。scrollTop(0);
它有效,内容从第一行可见,但是,这就是问题,左侧滚动条,从浏览器添加以允许用户滚动div内容,不会移动,它保持在之前的位置.scrollTop()
因此,如果我的用户手动向下滚动到底部,然后要求刷新数据,数据将刷新,内容将从第一行显示,但滚动条保留在底部,因此如果用户点击,内容将滚动到底部!
有没有办法强制浏览器重绘div或者甚至滚动条滚动到顶部?
编辑1:我试图从dom中删除div本身,添加一个“加载”文本,然后在加载完成后再次重新创建,但没有任何变化......
编辑2:我不是在页面顶部滚动,它是一个模态(我正在使用twitter bootstrap)
编辑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 );
为什么?
答案 0 :(得分:1)
试试这个
$(document).scrollTop($('#my_div').offset().top);
答案 1 :(得分:1)
基于scrollTop(1)解决方法,以下工作原理:
$("#mydiv").scrollTop(1).scrollTop(0)