AngularJS中移动页面滚动穿透解决方案
(function (angular) {
angular.module('mobileApp').factory('IscrollAndroidBug', IscrollAndroidBug);
function IscrollAndroidBug() {
return {
click: function () {
if (/iPhone|iPad|iPod|Macintosh/i.test(navigator.userAgent)) {return false;}
if (/Chrome/i.test(navigator.userAgent)) {return (/Android/i.test(navigator.userAgent));}
if (/Silk/i.test(navigator.userAgent)) {return false;}
if (/Android/i.test(navigator.userAgent)) {
var s = navigator.userAgent.substr(navigator.userAgent.indexOf('Android') + 8, 3);
return parseFloat(s[0] + s[3]) >= 44;
}
}
};
}
}(angular));
$scope.$on('ngRepeatListFinished', function () {
var _scroll = new IScroll('#scroller', {
probeType: 3,
preventDefault: false,
click: IscrollAndroidBug.click()
});
var _ele = document.getElementById('apply-requirment');
_ele.addEventListener('touchmove', function(e){
e.preventDefault();
}, false);
_ele = document.getElementById('scroller');
_ele.addEventListener('touchmove', function (e) {
e.preventDefault();
}, false);
});
<div id="apply-requirment" class="requirment-container" ng-if="maskLayerIndex != null" ng-cloak>
<div ng-click="closeMasking()"></div>
<div>
<div class="terms-list" ng-if="maskLayerIndex != null">
<div>
<span class="icon-cancel" ng-click="closeMasking()"></span>
<span ng-bind="maskLayers[maskLayerIndex].title"></span>
</div>
<div id="scroller">
<div>
<ul>
<li ng-class="($index==maskLayers[maskLayerIndex].sel)?'condition-checked':'condition-unchecked'"
ng-repeat="item in maskLayers[maskLayerIndex].text track by $index"
on-finish-render-filters="ngRepeatListFinished"
ng-click="onListItemClicked($event, $index)">
<span ng-bind="item"></span>
<span ng-show="$index==maskLayers[maskLayerIndex].sel" class="icon-check"></span>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
AngularJS中移动页面滚动穿透解决方案的更多相关文章
- 移动端H5滚动穿透解决方案
最近遇到一个很 巨恶心的问题 ios10下面 页面弹窗有滚动穿透问题 各种google 终于找到了答案,但是体验还不是很好,基本能忍受 废话不多说,上方法 最后终于想到一个处理方案,就是第一种方案的 ...
- vue中判断页面滚动开始和结束
参考链接:https://www.jianshu.com/p/adad39705ced 和 https://blog.csdn.net/weixin_44309374/article/deta ...
- angularjs中的页面访问权限设置
11月在赶一个项目,这阵子比较忙,挤挤时间更一篇博客吧,如标题所述说说在ng中页面访问权限控制的问题,水平有限各位看官见谅: 在以往的项目中,前后端常见的配合方式是前端提供页面和ui加一点DuangD ...
- 在AngularJS中同一个页面配置一个或者多个ng-app
在AngularJS学习中,对于ng-app初始化一个AngularJS程序属性的使用需要注意,在一个页面中AngularJS自动加载第一个ng-app,其他ng-app会忽略, 如果需要加载其他ng ...
- IOS设备上网页中的页面滚动效果模拟
可能咋一看不知道我说的是个啥,因为iOS本来就用这功能的啊,还模拟它干啥?先听我说下项目背景哈 我现在开发的是一个webapp,主要是用在ipad上,这个app的大小是固定大小的,为了防止触摸它出现弹 ...
- 关于angularjs中路由页面强制更新的问题
有这么一个问题,在页面内路由页面跳转时,第一次跳入路由页面时是正常的,但是第二次会记住第一次时的状态,有时候并不想这样,想强制更新这个路由页面. 有一种方式就是使用 ui-sref-opts功能,我试 ...
- AngularJS:实现页面滚动到底自动加载数据的功能
要实现这个功能,可以通过https://github.com/sroze/ngInfiniteScroll这个第三方控件来实现.步骤如下: 1. 下载ng-infinite-scroll.js程序ht ...
- React Native 中 跨页面间通信解决方案之 react-native-event-bus
https://github.com/crazycodeboy/react-native-event-bus 用法: A页面和B页面中都有相同的列表,点击B页面中的收藏按钮,A页面会跟着更新 impo ...
- 微信小程序textarea组件在fixed定位中随页面滚动
如果 textarea 是在一个 position:fixed 的区域,需要显示指定属性 fixed 为 true https://developers.weixin.qq.com/miniprogr ...
随机推荐
- [Winform]CefSharp ——js调用c#方法
摘要 有时我们在winform中嵌入浏览器,需要在页面上读取电脑上的一些信息,这个时候就需要用到CefSharp的RegisterJsObject进行注册方法然后供js进行调用了. 一个例子 我们在w ...
- WebLogic使用总结(三)——WebLogic配置JNDI数据源
一.在WebLogic新建针对Oracle数据库的JNDI数据源 进入weblogic管理控制台,此处是远程访问:http://192.168.1.144:7001/console 点击左侧[ 域结构 ...
- Java io.netty.util.ReferenceCountUtil 代码实例
原文:https://www.helplib.com/Java_API_Classes/article_64580 以下是展示如何使用io.netty.util.ReferenceCountUtil的 ...
- Odoo进销存(采购、销售、仓库)入门教程 - 上
转载地址:http://blog.csdn.net/wangnan537/article/details/46434373 运行环境: Ubuntu14.04+Odoo8.0 作者:苏州-微尘 0. ...
- 都铎王朝第一至四季/全集The Tudors迅雷下载
都铎王朝 第一.二.三.四季 The Tudors Season (2007-2010) 本季看点:本剧讲述了年轻的亨利八世对英国的统治以及他的婚姻生活,带有传奇色彩.Showtime电视台的古装热门 ...
- Android之多种Bitmap效果
1. 将图片变为圆角 2. 获取缩略图图片 3. LOMO特效 4. 旧时光特效 5. 暖意特效 6. 根据饱和度.色相.亮度调整图片 7. 添加图片外边框 8. 添加内边框 9. 创建一个缩放的图片 ...
- 部署包含水晶报表Crystal Reports 的VS.NET2005应用程序[原创]
要部署包含水晶报表Crystal Reports 的应用程序,您需要在生成解决方案之前创建一个安装项目,并且向应用程序中添加必要的合并模块. 1.打开 VS.NET2005 编程IDE. 2.在解决方 ...
- eclipse的块选择模式
第一步:Alt+shift+a打开Toggle Block Selection Mode(块选择模式开关) 第二步:点击Toggle Block Selection 第三步:选择多行,同时编辑
- SSI(Server Side Include)简单介绍
Server-side include(server端包含) Server-side include(server端包含)是浏览器向server请求您的文档时并入您的文档的一个文件. 当訪问者浏览器请 ...
- Java NIO Pipe
A Java NIO Pipe is a one-way data connection between two threads. A Pipe has a source channel and a ...