2010-01-16 59 views
2

如何在重新打開時保持模式對話框中可滾動div的滾動位置?如何在SimpleModal對話框中保持滾動位置

我修改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> 

回答

2

我測試了簡單的模態此解決方案,它如果您正在使用有基本的對話框演示工作

,只是改變了此代碼的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(); 
     } 
    }); 
    }); 
}); 
+0

感謝Doug,這很好地工作。 – user250343