iScroll不显示滚动条但允许我拖动内容

时间:2011-11-17 11:36:28

标签: javascript jquery jquery-plugins iscroll4

这就是我所说的

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;
    }

4 个答案:

答案 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');