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插件FusionWidgets实现的Bulb图效果示例【附demo源码下载】
Mar 23 jQuery
纯jQuery实现前端分页功能
Mar 23 jQuery
jQuery中map函数的两种方式
Apr 07 jQuery
jQuery开源组件BootstrapValidator使用详解
Jun 29 jQuery
使用jQuery实现页面定时弹出广告效果
Aug 24 jQuery
jQuery实现的简单前端搜索功能示例
Oct 28 jQuery
基于jquery实现五星好评
Nov 18 jQuery
jQuery+Cookie实现切换皮肤功能【附源码下载】
Mar 25 jQuery
jQuery获取随机颜色的实例代码
May 21 jQuery
jQuery实现开关灯效果
Aug 02 jQuery
jquery插件懒加载的示例
Oct 24 jQuery
JavaScript枚举选择jquery插件代码实例
Nov 17 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
【动漫杂谈】关于《请在T台上微笑》
2020/03/03 日漫
DC游戏Steam周三特惠 《蝙蝠侠》阿卡姆系列平史低
2020/04/09 欧美动漫
php下清空字符串中的HTML标签的代码
2010/09/06 PHP
PHP二维数组的去重问题解析
2011/07/17 PHP
PHP中基于ts与nts版本- vc6和vc9编译版本的区别详解
2013/04/26 PHP
PHP遍历并打印指定目录下所有文件实例
2014/02/10 PHP
关于php中的json_encode()和json_decode()函数的一些说明
2016/11/20 PHP
php curl上传、下载、https登陆实现代码
2017/07/23 PHP
PHP 文件锁与进程锁的使用示例
2017/08/07 PHP
php读取本地json文件的实例
2018/03/07 PHP
php微信公众号开发之欢迎老朋友
2018/10/20 PHP
用js生产批量批处理执行命令
2008/07/28 Javascript
JavaScript读取中文cookie时的乱码问题的解决方法
2009/10/14 Javascript
asp.net+js 实现无刷新上传解析csv文件的代码
2010/05/17 Javascript
Javascript模块化编程(三)require.js的用法及功能介绍
2013/01/17 Javascript
jQuery中dequeue()方法用法实例
2014/12/29 Javascript
JS获取图片高度宽度的方法分享
2015/04/17 Javascript
jQuery实现form表单基于ajax无刷新提交方法详解
2015/12/08 Javascript
js的各种排序算法实现(总结)
2016/07/23 Javascript
JS基于HTML5的canvas标签实现炫目的色相球动画效果实例
2016/08/24 Javascript
详谈Angular路由与Nodejs路由的区别
2017/03/05 NodeJs
Bootstrap4如何定制自己的颜色和风格
2018/02/26 Javascript
Django+Vue跨域环境配置详解
2018/07/06 Javascript
vue-mugen-scroll组件实现pc端滚动刷新
2019/08/16 Javascript
Openlayers实现距离面积测量
2020/09/28 Javascript
Python3下错误AttributeError: ‘dict’ object has no attribute’iteritems‘的分析与解决
2017/07/06 Python
Python xlrd excel文件操作代码实例
2020/03/10 Python
HTML5到底会有什么发展?HTML5的前景展望
2015/07/07 HTML / CSS
英国创新设计文具、卡片和礼品包装网站:Paperchase
2018/07/14 全球购物
信用社实习人员自我鉴定
2013/09/20 职场文书
机械绘图员岗位职责
2013/11/19 职场文书
韩国商务邀请函
2014/01/14 职场文书
大学生职业生涯规划书汇总
2014/03/20 职场文书
2014年优质护理服务工作总结
2014/11/14 职场文书
利用python Pandas实现批量拆分Excel与合并Excel
2021/05/23 Python
python playwright之元素定位示例详解
2022/07/23 Python