有没有一种方法来禁用滚动DIV反弹的影响?
到目前为止,我已经尝试过这些东西,但没有奏效。 请帮忙!
如何在iPhone上禁用垂直弹跳/滚动在移动Web应用程序
不能用的UIScrollView和pagingEnabled =禁用反弹YES
iPad的Safari浏览器:禁用滚动和反弹的效果呢?
滚动时禁用UITableView的垂直弹跳
和
http://www.iphonedevsdk.com/forum/iphone-sdk-development/996-turn-off-scrolling-bounces-uiwebview.html
谢谢!
如果您使用科尔多瓦1.7,只需打开Cordova.plist文件,并设置关键UIWebViewBounce为NO。
打开你的PhoneGap项目config.xml
文件并从默认时真亦假更改UIWebViewBounce:
<preference name="UIWebViewBounce" value="false" />
无法想象,为什么默认为真...
基于您的评论,您正在使用的代码是完全禁用滚动。 如果你想滚动,但没有反弹的效果,尝试这样的事情:
var xStart, yStart = 0;
document.getElementById("scrollableDiv").addEventListener('touchstart',function(e) {
xStart = e.touches[0].screenX;
yStart = e.touches[0].screenY;
});
document.getElementById("scrollableDiv").addEventListener('touchmove',function(e) {
var xMovement = Math.abs(e.touches[0].screenX - xStart);
var yMovement = Math.abs(e.touches[0].screenY - yStart);
if((yMovement * 3) > xMovement) {
e.preventDefault();
}
});
我发现这个解决方案在这里 。 请让我知道这对你有没有用。
这将帮助你放置.scroll类,你希望仍然有滚动的元素。
发生了什么是所有移动触摸屏默认情况下禁用。 如果你想滚动元件在它的.scroll类,然后将其设置门为true,以允许其通过。
在触摸结束你的门重置为false。
这适用于IOS5和6可以在Chrome和Safari浏览器工作
@看这个帖子把它扩大
如何防止页面滚动滚动DIV元素是什么时候?
唯一的缺点这是,如果你在滚动滚动元件的弹性效应允许在滚动设置为true滚动传递了树。 手动设置滚动条的位置得到由可怕的反弹效果覆盖。
我敢打赌,那些苹果friggers有本地实现与在硬连线的每一步设定的时间在户外跑步滚动。
所以,如果您滚动至-20,我觉得很难线的每一步进入一个循环不检查它在哪里。 滚动到-20 -19 -18等的序列。
我们必须想办法解决! (其实打字出来负载我有一个主意!)
$(function(){
var scroll = false
var scroll_element;
$('body').on('touchmove',function(e){
if(!scroll){
e.preventDefault()
}
})
$('body').on('touchend',function(e){
scroll = false
})
$('.scroll').on('touchstart',function(e){
scroll_element = this
scroll = true
})
})
我知道这可能不是最好的方式,但它的工作原理。
下面是我做的 -
#scrollableDiv {
position:fixed;
top:50px;
width:300px;
height:500px;
word-wrap: break-word;
overflow-y: scroll;
}
document.getElementById("scrollableDiv").innerHTML = longText;
document.getElementById("scrollableDiv").scrollTop = 0;