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 相关文章推荐
JavaScript之事件委托实例(附原生js和jQuery代码)
Jul 22 jQuery
基于Jquery Ajax type的4种类型(详解)
Aug 02 jQuery
jQuery实现的文字逐行向上间歇滚动效果示例
Sep 06 jQuery
jQuery选择器中的特殊符号处理方法
Sep 08 jQuery
jQuery实现动态添加节点与遍历节点功能示例
Nov 09 jQuery
vue.js2.0点击获取自己的属性和jquery方法
Feb 23 jQuery
基于jQuery.i18n实现web前端的国际化
May 04 jQuery
jQuery中常用动画效果函数知识点整理
Aug 19 jQuery
jQuery.parseJSON()函数详解
Feb 28 jQuery
jQuery zTree插件使用简单教程
Aug 16 jQuery
jquery弹窗时禁止body滚动条滚动的例子
Sep 21 jQuery
jQuery实现鼠标拖拽登录框移动效果
Sep 13 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强制类型转换,慎用!
2013/06/06 PHP
php中sql注入漏洞示例 sql注入漏洞修复
2014/01/24 PHP
PHP 字符串长度判断效率更高的方法
2014/03/02 PHP
php无限遍历文件夹示例分享
2014/03/04 PHP
PHP函数import_request_variables()用法分析
2016/04/02 PHP
基于PHP微信红包的算法探讨
2016/07/21 PHP
visual studio code 调试php方法(图文详解)
2017/09/15 PHP
Bootstrap+PHP实现多图上传功能实例详解
2018/04/08 PHP
JavaScript判断访问的来源是手机还是电脑,用的哪种浏览器
2013/12/12 Javascript
JS实现文件动态顺序载入的方法
2015/03/07 Javascript
javascript中alert()与console.log()的区别
2015/08/26 Javascript
Jquery easyui开启行编辑模式增删改操作
2016/01/14 Javascript
jQuery获取某天的农历日期并判断是否除夕或新年的方法
2016/03/01 Javascript
Bootstrap3制作自己的导航栏
2016/05/12 Javascript
移动端翻页插件dropload.js(支持Zepto和jQuery)
2016/07/27 Javascript
JavaScript实现点击按钮复制指定区域文本(推荐)
2016/11/25 Javascript
Node.js查找当前目录下文件夹实例代码
2017/03/07 Javascript
Vue.js子组件向父组件通信的方法实例代码详解
2018/12/10 Javascript
Vue实战教程之仿肯德基宅急送App
2019/07/19 Javascript
Vue学习之axios的使用方法实例分析
2020/01/06 Javascript
[02:50]2014DOTA2 TI预选赛预选赛 大神专访第一弹!
2014/05/21 DOTA
python3实现抓取网页资源的 N 种方法
2017/05/02 Python
Python cookbook(字符串与文本)针对任意多的分隔符拆分字符串操作示例
2018/04/19 Python
python自制包并用pip免提交到pypi仅安装到本机【推荐】
2019/06/03 Python
python把转列表为集合的方法
2019/06/28 Python
快速解决jupyter启动卡死的问题
2020/04/10 Python
Nike比利时官网:Nike.com (BE)
2019/02/07 全球购物
印度民族服装购物网站:BIBA
2019/08/05 全球购物
什么是网络协议
2016/04/07 面试题
《与象共舞》教学反思
2014/02/24 职场文书
2015年网络管理员工作总结
2015/05/21 职场文书
泰坦尼克号观后感
2015/06/04 职场文书
《浅水洼里的小鱼》教学反思
2016/02/16 职场文书
2017年寒假社区服务活动总结
2016/04/06 职场文书
2021年国漫热度排行前十,完美世界上榜,第四是美国动画作品
2022/03/18 国漫
MySQL中JOIN连接的基本用法实例
2022/06/05 MySQL