首頁 >web前端 >js教程 >在jQuery中如何實現彈跳窗下底部頁面禁止滑動效果

在jQuery中如何實現彈跳窗下底部頁面禁止滑動效果

亚连
亚连原創
2018-06-19 17:56:012202瀏覽

在專案開發過程中,常常會遇到有彈跳窗的頁面,尤其是在行動端。以下透過本文跟大家分享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 vue2進行專案建構

詳細解讀webpack babel的相關設定(詳細教學)

#在webpack中有關vue專案資源檔報404問題(詳細教學)

在vue.js中整合vux如何實作上拉載入下拉刷新

#使用Gulp如何實作靜態網頁模組化具體怎麼做?

使用js實作微信喚起支付寶領紅包(詳細教學)

在react-router中如何使用history控制路由(詳細教學)

使用vue-ssr如何實作服務端渲染

#有關Vue2.0父子元件間實作派發機制(詳細教學)

jQuery SpringMVC中的複選框選擇與傳值實例_jquery

在SpringMVC中post如何取得多選框value的值(程式碼實例)

以上是在jQuery中如何實現彈跳窗下底部頁面禁止滑動效果的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn