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 29 jQuery
jQuery 添加样式属性的优先级别方法(推荐)
Jun 08 jQuery
jQuery扇形定时器插件pietimer使用方法详解
Jul 18 jQuery
简述jQuery Easyui一些用法
Aug 01 jQuery
jQuery实现滚动效果
Nov 17 jQuery
jQuery中图片展示插件highslide.js的简单dom
Apr 22 jQuery
jQuery实现图片下载代码
Jul 18 jQuery
jQuery中DOM操作原则实例分析
Aug 01 jQuery
jQuery实现每日秒杀商品倒计时功能
Sep 06 jQuery
jQuery实现轮播图效果demo
Jan 11 jQuery
jQuery开发仿QQ版音乐播放器
Jul 10 jQuery
jQuery实现鼠标拖动图片功能
Mar 04 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
Apache设置虚拟WEB
2006/10/09 PHP
php 无限极分类
2008/03/27 PHP
Centos PHP 扩展Xchche的安装教程
2016/07/09 PHP
PHP正则表达式笔记与实例详解
2019/05/09 PHP
jquery网页元素拖拽插件效果及实现
2013/08/05 Javascript
js防止表单重复提交的两种方法
2013/09/30 Javascript
JS的参数传递示例介绍
2014/02/08 Javascript
js代码实现的加入收藏效果并兼容主流浏览器
2014/06/23 Javascript
使用JQuery FancyBox插件实现图片展示特效
2015/11/16 Javascript
jQuery实现图片走马灯效果的原理分析
2016/01/16 Javascript
字符串反转_JavaScript
2016/04/28 Javascript
JS和jQuery使用submit方法无法提交表单的原因分析及解决办法
2016/05/17 Javascript
浅析Node.js实现HTTP文件下载
2016/08/05 Javascript
JS简单获取日期相差天数的方法
2017/04/24 Javascript
es6学习笔记之Async函数的使用示例
2017/05/11 Javascript
Vue波纹按钮组件制作
2018/04/30 Javascript
微信小程序如何获取手机验证码
2018/11/04 Javascript
解决在layer.open中使用时间控件laydate失败的问题
2019/09/11 Javascript
微信小程序基于movable-view实现滑动删除效果
2020/01/08 Javascript
vue watch监控对象的简单方法示例
2021/01/07 Vue.js
python遍历类中所有成员的方法
2015/03/18 Python
Python中线程的MQ消息队列实现以及消息队列的优点解析
2016/06/29 Python
Python中的连接符(+、+=)示例详解
2017/01/13 Python
Python获取SQLite查询结果表列名的方法
2017/06/21 Python
深入理解Django的自定义过滤器
2017/10/17 Python
Pycharm 设置自定义背景颜色的图文教程
2018/05/23 Python
彪马香港官方网上商店:PUMA香港
2020/12/06 全球购物
关于VPN
2012/06/10 面试题
素食餐饮项目创业计划书
2014/02/02 职场文书
创建精神文明单位实施方案
2014/03/08 职场文书
长城的导游词
2015/01/30 职场文书
学困生帮扶工作总结
2015/08/13 职场文书
2015年新教师个人工作总结
2015/10/14 职场文书
2017年大学生寒假社会实践活动总结
2016/04/06 职场文书
Python开发五子棋小游戏
2022/05/02 Python
css中:last-child不生效的解决方法
2022/08/05 HTML / CSS