jquery - 如何在 SimpleModal 对话框中保持滚动位置

标签 jquery dialog scroll modal-dialog simplemodal

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

最佳答案

我用 Simple Modal 测试了这个解决方案,它有效

如果您使用的是基本对话框演示,只需更改此代码的 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();
      }
    });
  });
});

关于jquery - 如何在 SimpleModal 对话框中保持滚动位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2076015/

相关文章:

jquery - 使 JQuery 对话框内容 100% 宽度和高度

swift - 将图像从 documentDirectory 加载到 UICollectionView - 滚动时滞后

javascript - 防止 div 被其下方的 div 碰撞时向上滚动?

javascript - 获取每个滚动并增加事件类

javascript - 悬停导航不会保持打开状态以单击

javascript - 为什么 HTML5 Boilerplate 以两种不同的方式(谷歌和 vendor )包含 HTML5 Shiv?

javascript - 如何更改 slideToggle 上的标题和 html

javascript - 字符串方法替换无法正常工作

android - 如何创建带有自定义字幕和一些按钮的对话框

java - 如何在对话框中使用枚举来使用 JComboBox