2

重新打开时,如何在模态对话框中保持可滚动 div 的滚动位置?

我修改了 simplemodal 的基本可下载示例,如下所示:

<div id="basic-modal-content">
    <h3>Scrollable Modal Dialog</h3>
    <div style="width: 150px; height:100px; overflow: auto;">
        a<br>a<br>a<br>a<br>a<br>a<br>a<br>a<br>a<br>a<br>a<br>a<br>a<br>a<br>a<br>a<br>
    </div>
</div>
4

1 回答 1

2

我用 Simple Modal 测试了这个解决方案,它可以工作

如果您正在使用 Basic Dialog 演示,只需更改basic.js此代码的文件。它只是scrollTop在对话框关闭之前获取,并在对话框重新打开时重置它。由于 SimpleModal 的工作方式,我们每次都必须调用 div 的完整选择器:

$(document).ready(function () {
  var scrollTop = null;
  $('#basic-modal input.basic, #basic-modal a.basic').click(function (e) {
    e.preventDefault();
    $('#basic-modal-content').modal({
      onShow: function(){
        if(scrollTop !== null) $('#basic-modal-content > div').scrollTop(scrollTop);
      },
      onClose: function(){
        scrollTop = $('#basic-modal-content > div').scrollTop();
        $.modal.close();
      }
    });
  });
});
于 2010-01-16T03:17:01.800 回答