jQuery实现弹窗下底部页面禁止滑动效果


Posted in jQuery onDecember 19, 2017

在项目开发过程中,经常会遇到带有弹窗的页面,尤其是在移动端。在没有特别要求的情况下,弹窗弹出后,弹窗下的底部页面依然能够滑动。为了得到更好的用户体验,需要做到触发弹窗时,弹窗底部页面禁止滑动,关闭弹窗时,弹窗底部页面恢复滑动,具体思路如下:

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()方法;即可获得更好的用户体验。

总结

以上所述是小编给大家介绍的jQuery实现弹窗下底部页面禁止滑动效果,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

jQuery 相关文章推荐
使用jQuery监听扫码枪输入并禁止手动输入的实现方法(推荐)
Mar 21 jQuery
利用jQuery解析获取JSON数据
Apr 08 jQuery
为JQuery EasyUI 表单组件增加焦点切换功能的方法
Apr 13 jQuery
jQuery实现节点的追加、替换、删除、复制功能示例
Jul 11 jQuery
详解jquery选择器的原理
Aug 01 jQuery
jQuery EasyUI 折叠面板accordion的使用实例(分享)
Dec 25 jQuery
bootstrap+jquery项目引入文件报错的解决方法
Jan 22 jQuery
JQuery样式操作、click事件以及索引值-选项卡应用示例
May 14 jQuery
JQuery属性操作与循环用法示例
May 15 jQuery
jquery插件开发模式实例详解
Jul 20 jQuery
jquery树形插件zTree高级使用详解
Aug 16 jQuery
jquery实现掷骰子小游戏
Oct 24 jQuery
jQuery实现点击DIV同时点击CheckBox,并为DIV上背景色的实例
Dec 18 #jQuery
HTML5+JS+JQuery+ECharts实现异步加载问题
Dec 16 #jQuery
利用JQUERY实现多个AJAX请求等待的实例
Dec 14 #jQuery
jquery获取transform里的值实现方法
Dec 12 #jQuery
jquery手机触屏滑动拼音字母城市选择器的实例代码
Dec 11 #jQuery
jQuery实现简单的下拉菜单导航功能示例
Dec 07 #jQuery
jquery学习笔记之无new构建详解
Dec 07 #jQuery
You might like
PHP中“简单工厂模式”实例代码讲解
2012/09/04 PHP
php stripslashes和addslashes的区别
2014/02/03 PHP
PHP使用PhpSpreadsheet操作Excel实例详解
2020/03/26 PHP
html中table数据排序的js代码
2011/08/09 Javascript
一些常用弹出窗口/拖放/异步文件上传等实用代码
2013/01/06 Javascript
用javascript关闭本窗口不弹出询问框的方法
2014/09/12 Javascript
Laydate时间组件在火狐浏览器下有多时间输入框时只能给第一个输入框赋值的解决方法
2016/08/18 Javascript
jQuery实现邮箱下拉列表自动补全功能
2016/09/08 Javascript
Nodejs读取文件时相对路径的正确写法(使用fs模块)
2017/04/27 NodeJs
jQuery层级选择器_动力节点节点Java学院整理
2017/07/04 jQuery
快速了解Node中的Stream流是什么
2019/02/13 Javascript
vue中如何添加百度统计代码
2020/12/19 Vue.js
[02:37]2018DOTA2亚洲邀请赛赛前采访-EG篇
2018/04/03 DOTA
[54:53]完美世界DOTA2联赛PWL S2 GXR vs PXG 第二场 11.18
2020/11/18 DOTA
python线程池threadpool使用篇
2018/04/27 Python
python编写简易聊天室实现局域网内聊天功能
2018/07/28 Python
python交易记录整合交易类详解
2019/07/03 Python
python openCV获取人脸部分并存储功能
2019/08/28 Python
Python3 无重复字符的最长子串的实现
2019/10/08 Python
python 实现兔子生兔子示例
2019/11/21 Python
scrapy框架携带cookie访问淘宝购物车功能的实现代码
2020/07/07 Python
英国和爱尔兰最大的地毯零售商:Kukoon
2018/12/17 全球购物
巴西24小时在线药房:Droga Raia
2020/05/12 全球购物
俄罗斯外国汽车和国产汽车配件网上商店:Движком
2020/04/19 全球购物
Yahoo的PHP面试题
2014/05/26 面试题
营业经理岗位职责
2013/11/10 职场文书
前台接待岗位职责
2013/12/03 职场文书
竞聘副主任科员演讲稿
2014/01/11 职场文书
模范教师事迹材料
2014/02/10 职场文书
挂靠协议书范本
2014/04/22 职场文书
大学新生军训方案
2014/05/03 职场文书
企业贷款委托书格式
2014/09/12 职场文书
公司劳动纪律管理制度
2015/08/04 职场文书
初中班主任教育随笔
2015/08/15 职场文书
护士医德医风心得体会
2016/01/25 职场文书
解决Golang time.Parse和time.Format的时区问题
2021/04/29 Golang