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插件canvaspercent.js实现百分比圆饼效果
Jul 18 jQuery
jQuery EasyUI的TreeGrid查询功能实现方法
Aug 08 jQuery
jQuery实现手势解锁密码特效
Aug 14 jQuery
解决IE7中使用jQuery动态操作name问题
Aug 28 jQuery
jquery 键盘事件的使用方法详解
Sep 13 jQuery
jQuery选择器之属性筛选选择器用法详解
Sep 19 jQuery
jQuery实现简单的下拉菜单导航功能示例
Dec 07 jQuery
jQuery基于随机数解决中午吃什么去哪吃问题示例
Dec 29 jQuery
jQuery简单实现根据日期计算星期几的方法
Jan 09 jQuery
jQuery 查找元素操作实例小结
Oct 02 jQuery
jquery实现垂直手风琴导航栏
Feb 18 jQuery
jQuery实现本地存储
Dec 22 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 进度条实现代码
2009/03/10 PHP
PHPExcel读取EXCEL中的图片并保存到本地的方法
2015/02/14 PHP
jquery 必填项判断表单是否为空的方法
2008/09/14 Javascript
javascript高级学习笔记整理
2011/08/14 Javascript
js判断变量是否未定义的代码
2020/03/28 Javascript
jQuery简单实现禁用右键菜单
2015/03/10 Javascript
JavaScript计算某一天是星期几的方法
2015/08/05 Javascript
JavaScript中日期的相关操作方法总结
2015/10/24 Javascript
Javascript实现图片不间断滚动的代码
2016/06/22 Javascript
jQuery 插件封装的方法
2016/11/16 Javascript
微信小程序实现带刻度尺滑块功能
2017/03/29 Javascript
Vue学习笔记进阶篇之单元素过度
2017/07/19 Javascript
在Js页面通过POST传递参数跳转到新页面详解
2017/08/25 Javascript
Iview Table组件中各种组件扩展的使用
2018/10/20 Javascript
vue 动态设置img的src地址无效,npm run build 后找不到文件的解决
2020/07/26 Javascript
[03:03]DOTA2 2017国际邀请赛开幕战队入场仪式
2017/08/09 DOTA
Python中关于使用模块的基础知识
2015/05/24 Python
python实现用户登陆邮件通知的方法
2015/07/09 Python
python中实现精确的浮点数运算详解
2017/11/02 Python
Django中反向生成models.py的实例讲解
2018/05/30 Python
python实现微信机器人: 登录微信、消息接收、自动回复功能
2019/04/29 Python
python加载自定义词典实例
2019/12/06 Python
Python中使用threading.Event协调线程的运行详解
2020/05/02 Python
Python中Yield的基本用法
2020/10/18 Python
HTML5 canvas 瀑布流文字效果的示例代码
2018/01/31 HTML / CSS
加拿大购物频道:The Shopping Channel
2016/07/21 全球购物
澳大利亚冒险体验:Adrenaline(跳伞、V8赛车、热气球等)
2017/09/18 全球购物
值传递还是引用传递
2015/02/08 面试题
专科应届毕业生求职信
2014/06/04 职场文书
学习党的群众路线教育实践活动剖析材料
2014/10/13 职场文书
商家认证委托书格式
2014/10/16 职场文书
本科毕业论文致谢词
2015/05/14 职场文书
离婚起诉书范本
2015/05/18 职场文书
婚庆司仪开场白
2015/05/29 职场文书
Golang: 内建容器的用法
2021/05/05 Golang
深入理解以DEBUG方式线程的底层运行原理
2021/06/21 Java/Android