【问题标题】:How to keep scroll position in SimpleModal dialog如何在 SimpleModal 对话框中保持滚动位置
【发布时间】:2010-01-16 02:50:27
【问题描述】:

当一个模态对话框重新打开时,如何保持可滚动 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>

【问题讨论】:

    标签: jquery dialog scroll modal-dialog simplemodal


    【解决方案1】:

    我用 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-10-03
      • 2011-11-28
      • 2020-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-24
      • 2013-04-16
      • 1970-01-01
      相关资源
      最近更新 更多