2

这就是我所说的

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。

它似乎工作(启用),因为我可以拖动容器及其内容(但它不会保持位置,它会在鼠标释放时恢复)

如果您想看到它发生,请访问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

4 回答 4

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 造成“捕捉”效果。

考虑这个例子,其中有一个 DIV (id="scroller") 包含一个 OL,其中包含许多(块级)LI:

http://cubiq.org/dropbox/iscroll4/examples/simple/

长话短说,给你的带有滚动类的 DIV 一个 id 并从中创建你的 iScroll 。

于 2011-11-25T23:00:04.510 回答
0

如果您stylediv标签上设置了,则将滚动条放在(示例)

style="position:relative;overflow: hidden;height:350px;

我认为明确设置高度应该可以解决拖动问题

于 2011-11-17T13:00:21.893 回答
0

你不只是想要:

.content {overflow-y:scroll;}

这不是你说的朋友吗?

于 2011-11-22T23:12:57.203 回答
0

滚动 div 中的元素不能浮动。如果它们是浮动的并且未清除页面流,则意味着您的滚动 div 高度不正确。尝试避免滚动和 div 中的任何浮动,看看情况如何。这对我来说是个问题。

我还发现 Matthews 的回答很有帮助,因为我也在错误的 div 上调用了 iscroll。我认为关于 iScroll 示例的令人困惑的事情是,很容易假设 iScroll 是在带有 ID 滚动条的 div 上调用的,但它是在包装 div 上调用的。带有 ID 滚动条的 div 实际上并不需要一个 ID,我认为为了示例的缘故,没有它会更清楚。例如

<div id="wrapper">
    <div>
         <p>Whatever you want here</p>
         <ul>
             <li>1</li>
         </ul>
    </div>
</div>
...
myScroll = new iScroll('wrapper');
于 2011-12-29T15:02:30.010 回答