簡體   English   中英

jQuery modal防止滾動,並防止在modal打開時移回到頁面頂部

[英]jquery modal prevent scrolling AND prevent moving back to top of page on modal open

有兩個問題都獨立記錄在案,但從我所知,解決方案似乎是互斥的。

第一個是,當我們打開模式時,我們希望能夠停止屏幕的滾動,這可以通過執行以下操作來避免: 在打開jQuery UI模式對話框時禁用瀏覽器滾動

還有第二個問題,就是當模式打開時,屏幕被強制滾動回到頁面頂部,這可以通過使用以下操作來避免: 防止CSS模式滾動到頂部

即解決第一個問題,將以下內容添加到body CSS中可解決此問題:

overflow:hidden;

並且要解決第二個問題,請在body CSS中添加以下內容以解決該問題:

overflow:visible; 

我面臨的問題是我希望兩者都是真實的。 當模式打開時,我希望禁用滾動,並且我希望頁面凍結在用戶滾動到的位置,而不是跳回到頂部。 這些解決方案均不能同時允許這兩種操作。

有人知道可以同時解決這兩個問題的解決方案嗎?

我的解決方案:防止滾動。 當打開對話框時,將一個類添加到正文中,如下所示:

.modal-open {
    overflow: hidden;
}

並在關閉對話框時刪除類。

防止移動頂部。 在jquery中,在打開對話框的函數中,添加preventDefault

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM