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 EasyUI tree增加搜索功能的实现方法
Apr 27 jQuery
jquery拖动改变div大小
Jul 04 jQuery
基于jQuery Easyui实现登陆框界面
Jul 10 jQuery
jQuery Form插件使用详解_动力节点Java学院整理
Jul 17 jQuery
jQuery实现表格冻结顶栏效果
Aug 20 jQuery
vue-cli webpack 引入jquery的方法
Jan 10 jQuery
jQuery中复合选择器简单用法示例
Mar 31 jQuery
jQuery中常用动画效果函数知识点整理
Aug 19 jQuery
jQuery扩展方法实现Form表单与Json互相转换的实例代码
Sep 05 jQuery
jQuery设置下拉框显示与隐藏效果的方法分析
Sep 15 jQuery
js与jquery获取input输入框中的值实例讲解
Feb 27 jQuery
Jquery如何使用animation动画效果改变背景色的代码
Jul 20 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
一拳超人中怪人协会钦定! S级别最强四人!
2020/03/02 日漫
PHP数组操作汇总 php数组的使用技巧
2011/07/17 PHP
解决php使用异步调用获取数据时出现(错误c00ce56e导致此项操作无法完成)
2013/07/03 PHP
国外十大最流行的PHP框架排名
2013/07/04 PHP
php 函数使用可变数量的参数方法
2017/05/02 PHP
PHP+jQuery实现双击修改table表格功能示例
2019/02/21 PHP
laravel 获取当前url的别名方法
2019/10/11 PHP
通过JAVAScript实现页面自适应
2007/01/19 Javascript
Jquery 获取表单text,areatext,radio,checkbox,select值的代码
2009/11/12 Javascript
firebug的一个有趣现象介绍
2011/11/30 Javascript
JavaScript取得WEB安全颜色列表的方法
2015/07/14 Javascript
JavaScript Split()方法
2015/12/18 Javascript
jQuery中ajax获取数据赋值给页面的实例
2017/12/31 jQuery
一百行JS代码实现一个校验工具
2019/04/30 Javascript
微信小程序数据统计和错误统计的实现方法
2019/06/26 Javascript
基于vue实现图片验证码倒计时60s功能
2019/12/10 Javascript
在博客园博文中添加自定义右键菜单的方法详解
2020/02/05 Javascript
在vs code 中如何创建一个自己的 Vue 模板代码
2020/11/10 Javascript
python网络编程学习笔记(七):HTML和XHTML解析(HTMLParser、BeautifulSoup)
2014/06/09 Python
Python中collections模块的基本使用教程
2018/12/07 Python
详解Python用三种方式统计词频的方法
2019/07/29 Python
通过 Django Pagination 实现简单分页功能
2019/11/11 Python
python Jupyter运行时间实例过程解析
2019/12/13 Python
详解HTML5布局和HTML5标签
2020/10/26 HTML / CSS
世界上最悠久的自行车制造商:Ribble Cycles
2017/03/18 全球购物
英国最好的包装供应商:Priory Direct
2019/12/17 全球购物
Linux操作面试题
2012/05/16 面试题
中学生团员自我评价分享
2013/12/07 职场文书
烹调加工管理制度
2014/02/04 职场文书
火车来了教学反思
2014/02/11 职场文书
公司任命书模板
2014/06/06 职场文书
机电一体化应届生求职信
2014/08/09 职场文书
2014年学校法制宣传日活动总结
2014/11/01 职场文书
金秋助学感谢信
2015/01/21 职场文书
好段摘抄大全(48句)
2019/08/08 职场文书
SQL基础查询和LINQ集成化查询
2022/01/18 MySQL