jquery scrollTop可以工作,但不会移动滚动条

时间:2013-06-17 08:41:10

标签: javascript jquery twitter-bootstrap

我正在通过$ .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 );

为什么?

2 个答案:

答案 0 :(得分:1)

试试这个

$(document).scrollTop($('#my_div').offset().top);

答案 1 :(得分:1)

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

$("#mydiv").scrollTop(1).scrollTop(0)