所以这篇文章可能会很长,但我坚持使用 iScroll。我正在做的是用文章填充我的列表,当一个被点击时,我在列表上滑动一个 div 以显示文章。那部分有效,但当我滚动浏览文章并到达末尾时,它会继续滚动列表和文章。您可以在这里查看(该网站是俄文的,但单击一篇文章并一直滚动到底部)。这是我的整个代码:
<head>
<style>
body{
padding: 0;
margin: 0;
border: 0;
}
#header{
position:fixed;
top:0;
left:0;
height:100px;
width: 100%;
background-color: black;
}
header{
position: absolute;
z-index: 2;
top: 0; left: 0;
width: 100%;
height: 50px;
}
#wrapper{
position: absolute;
z-index: 1;
width: 100%;
top: 52px;
left: 0;
overflow: auto;
}
#container{
position:fixed;
top:0;
right:-100%;
width:100%;
height:100%;
z-index: 10;
background-color: red;
overflow: auto;
}
#content{
margin:100px 10px 0px 10px;
}
</style>
</head>
<body>
<header>Main News</header>
<div id="wrapper">
<ul id="daily"></ul>
<ul id="exclusive"></ul>
<ul id="must"></ul>
<ul id="main"></ul>
<ul id="ukr"></ul>
<ul id="nba"></ul>
<ul id="euro"></ul>
</div>
<div id="container">
<div id="wrapper2">
<div id="header">
<button onclick="hide();">Back</button>
</div>
<div id="content"></div>
</div>
</div>
<script src="js/zepto.js"></script>
<script>
//AJAX requests to fill the li's...
function sayhi(url){
$('#container').animate({
right:'0',
}, 200, 'linear');
$.ajax({
url: serviceURL + "getnewstext.php",
data: {link: url},
success: function(content){
$('#content').append(content);
}
});
}
function hide(){
$('#container').animate({
right:'-100%'
}, 200, 'linear');
$('#content').empty();
}
</script>
<script src="js/iscroll-lite.js"></script>
<script>
var myScroll;
function scroll () {
myScroll = new iScroll('wrapper2', {hScroll: false, vScrollbar: false, bounce: false});
myScroll2 = new iScroll('wrapper', {hScroll: false, vScrollbar: false});
}
document.addEventListener('DOMContentLoaded', scroll, false);
</script>
</body>
有没有办法在 div 容器、内容或 wrapper2 上滚动而不用文章列表滚动包装器 div?也许我没有正确使用 iScroll?同样的问题也发生在 Android 和 iPhone 上。
编辑1:
我将包装器位置设置为固定。现在 div 容器是唯一一个滚动的,但文章列表没有滚动...我在包装器中添加了另一个 iScroll 但它不起作用。这里有什么建议吗?
编辑2:
所以我把 iScroll 放在一起,改用 CSS。在我的 onclick 事件中,我添加了:
$('body').css('overflow', 'hidden');
当单击关闭按钮时,我将溢出更改为自动。现在这会阻止正文在浏览器中滚动,但不能在移动设备上滚动!!!我怎样才能让它在手机上做同样的事情???