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.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 に答える