在專案開發過程中,常常會遇到有彈跳窗的頁面,尤其是在行動端。以下透過本文跟大家分享jQuery實現彈窗下底部頁面禁止滑動效果,需要的朋友參考下吧
在專案開發過程中,常常會遇到有彈窗的頁面,尤其是在移動端。在沒有特別要求的情況下,彈跳窗戶後,彈跳窗下的底部頁面依然能夠滑動。為了得到更好的使用者體驗,當需要做到觸發彈窗時,彈窗底部頁面禁止滑動,關閉彈跳窗時,彈跳窗底部頁面恢復滑動,具體思路如下:
1.觸發彈窗時,取得滾動條所在的位置。
2.將底部頁面的position屬性設定為fixed。
3.設定底部頁面的位置為觸發彈跳視窗時的初始位置。
4.關閉彈跳窗時,恢復底部頁面的position屬性。
5.恢復底部頁面的捲軸高度。
//触发弹窗底部页面禁止滑动 function fixed(){ var scrollTop = document.body.scrollTop;//设置背景元素的位置 $('#content').attr('data-top',scrollTop); var contentStyle = document.getElementById("content").style;//content是可以滚动的背景元素id名称 contentStyle.position = 'fixed'; //contentStyle是第二步的变量,设置背景元素的position属性为‘fixed' contentStyle.top = "-"+scrollTop+"px"; } //关闭弹窗底部页面恢复滑动 function fixed_cancel(){ var contentStyle = document.getElementById("content").style; var scrollTop = $('#content').attr('data-top');//设置背景元素的位置 contentStyle.top = '0px';//恢复背景元素的初始位置 contentStyle.position ="static";//恢复背景元素的position属性(初始值为absolute,就恢复为absolute,以此类推) $(document).scrollTop(scrollTop);//scrollTop,设置滚动条的位置 }
觸發彈跳視窗時執行fixed()方法;關閉彈跳窗時觸發fixed_cancel()方法;即可獲得更好的使用者體驗。
上面是我整理給大家的,希望今後對大家有幫助。
相關文章:
詳細解答Webpack Babel React環境建置(詳細教學)
#在webpack中有關vue專案資源檔報404問題(詳細教學)
在react-router中如何使用history控制路由(詳細教學)
jQuery SpringMVC中的複選框選擇與傳值實例_jquery
在SpringMVC中post如何取得多選框value的值(程式碼實例)
以上是在jQuery中如何實現彈跳窗下底部頁面禁止滑動效果的詳細內容。更多資訊請關注PHP中文網其他相關文章!