这就是我所说的
document.addEventListener('touchmove', function (e) { e.preventDefault(); }, false);
document.addEventListener('DOMContentLoaded', function () { setTimeout(loaded, 200); }, false);
/**/
$(document).ready(function() {
//Created an array for adding n iScroll objects
var myScroll = new Array();
$('.content').each(function(){
if($(this).attr('id')==null){
$(this).attr('id') = $(this).attr('class');
}
id = $(this).attr('id');
console.log(id);
$(this).html('<div class="scroller">'+$(this).html()+'</div>');
myScroll.push(new iScroll(id));
});
});
我对它进行了一些修改,因此你可以将它与一个类一起使用,而不仅仅是id。
似乎有效(启用)因为我可以拖动容器及其内容(但它不会保持位置,它会在鼠标释放时恢复 )< / p>
如果您想看到它发生,请访问http://toniweb.us/grano并点击菜单中的任何项目,新显示效果。
知道它为什么有效但不如预期?
我想这样做的原因是因为容器有几个子容器,根据内容选择隐藏或显示这些子容器。
CSS:
#nvl1{
padding:0px 25px;
z-index:10;
position:absolute;
left:0px;
background:url("../img/fondoNivel2.jpg") no-repeat scroll right 0 #79797B ;
height:100%;
}
#nvl1 .content{
width:650px;
z-index:11;
display:none;
color:#6666b6b;
position:relative;
line-height:30px;
}
答案 0 :(得分:4)
我查看了您的代码:http://toniweb.us/grano
我认为您想要做的是使用“滚动”在您的课堂上使用iScroll。这不是你在下面的代码中所做的,而是你实际上设置iScroll使用你的滚动器DIV的父代:
id = $(this).attr('id');
$(this).html('<div class="scroller">'+$(this).html()+'</div>');
myScroll.push(new iScroll(id));
供参考:iScroll使用ID而不是类
它具有的效果是它会对紧随其后的块级元素 - 滚动条DIV造成“捕捉”效果。
考虑这个例子,其中有一个包含OL的DIV(id =“scroller”),其中包含许多(块级)LI:
http://cubiq.org/dropbox/iscroll4/examples/simple/
长话短说,给你的DIV卷轴类一个id并从中创建你的iScroll。
答案 1 :(得分:0)
如果您在style
标记上设置div
,则将滚动条置于(示例)
style="position:relative;overflow: hidden;height:350px;
我认为它明确地设置了应该解决拖拽问题的高度
答案 2 :(得分:0)
你不只是想要:
.content {overflow-y:scroll;}
这不是你说的伙伴吗?
答案 3 :(得分:0)
滚动div中的元素不能浮动。如果它们是浮动的并且未被清除,则页面流将意味着您的滚动div不是正确的高度。尝试避免滚动和div中的任何浮动,看看它是怎么回事。这对我来说是个问题。
我也发现马修斯回答是有帮助的,因为我也在调用iscroll错误的div。我认为关于iScroll示例的令人困惑的事情是,很容易假设在带有ID滚动条的div上调用iScroll,但它在包装器div上调用。带有ID滚动条的div实际上并不需要ID,我想为了这个例子,没有它就会更清楚。 e.g。
<div id="wrapper">
<div>
<p>Whatever you want here</p>
<ul>
<li>1</li>
</ul>
</div>
</div>
...
myScroll = new iScroll('wrapper');