我的 html 页面中有几个部分,其中一些部分是由 JS 动态生成的。在某些部分我需要滚动,以便其他部分不会滚动,但只有点击的部分应该滚动。目前所有部分/页面都在滚动。
我尝试了 iScroll ,但不适用于 Android、Phonegap
任何建议。
我的 html 页面中有几个部分,其中一些部分是由 JS 动态生成的。在某些部分我需要滚动,以便其他部分不会滚动,但只有点击的部分应该滚动。目前所有部分/页面都在滚动。
我尝试了 iScroll ,但不适用于 Android、Phonegap
任何建议。
尝试这个:
1.) 将您的 DIV 溢出设置为自动.. 例如
<div id="wrapper" style="overflow:auto; height: 200px">...content...</div>
2.)添加这个javascript:
<script>
function isTouchDevice(){
try{
document.createEvent("TouchEvent");
return true;
}catch(e){
return false;
}
}
function touchScroll(id){
if(isTouchDevice()){ //if touch events exist...
var el=document.getElementById(id);
var scrollStartPos=0;
document.getElementById(id).addEventListener("touchstart", function(event) {
scrollStartPos=this.scrollTop+event.touches[0].pageY;
event.preventDefault();
},false);
document.getElementById(id).addEventListener("touchmove", function(event) {
this.scrollTop=scrollStartPos-event.touches[0].pageY;
event.preventDefault();
},false);
}
}
</script>
3.) 在页面加载时调用它.. 如果你使用 jQuery:
$(document).ready(function() {
touchScroll("wrapper");
});
4.) 如果您希望滚动条可见,只需定义以下 CSS 规则:
::-webkit-scrollbar {
width: 10px;
}
::-webkit-scrollbar-track {
border-radius: 10px;
}
::-webkit-scrollbar-thumb {
border-radius: 10px;
background-color: #000;
}
这是经过测试的,应该可以在任何 Android 或 iOS 设备上运行。您可以将其与 position:fixed 和/或 position:absolute css 规则结合使用