0

我将 iScroll 用于水平、固定位置的菜单。它工作得很好,但是我无法在移动浏览器中垂直滚动页面的其余部分。它在 pc/mac 调整大小的浏览器窗口中工作正常,只是在移动设备上不行。我在 iPhone 上尝试过 Safari,在 Android 上尝试过 Chrome 和 Dolphin。

有什么想法可以让页面也滚动吗?

我玩过 vScroll、hScroll 等选项,但无法解决问题:

<nav id="mainNav">
    <ul class="pagesIcons bottom">
        <li style="background-color:#000000" class="active selected current youarehere">
            <a href="#" class="inner">
                <div class="buttonIcon">
                    <img src="/content/icons/002.png">
                </div>
                <div class="buttonText">
                    Homepage
                </div>
            </a>
        </li>
        <li style="background-color:#383838" class="">
            <a href="#" class="inner">
                <div class="buttonIcon">
                    <img src="/content/icons/002.png">
                </div>
                <div class="buttonText">
                    Gallery
                </div>
            </a>
        </li>
        <li style="background-color:#5c5c5c" class="">
            <a href="#" class="inner">
                <div class="buttonIcon">
                    <img src="/content/icons/004.png">
                </div>
                <div class="buttonText">
                    Events
                </div>
            </a>
        </li>
        ........
    </ul>
</nav>

我正在初始化它:

var myScroll;
function loaded() {
    myScroll = new iScroll('mainNav', {
        bounce: false
    });
}

document.addEventListener('touchmove', function (e) { e.preventDefault(); }, false);

document.addEventListener('DOMContentLoaded', loaded, false);

在此处输入图像描述 在此处输入图像描述

4

2 回答 2

0

解决了。我只需要删除:

document.addEventListener('touchmove', function (e) { e.preventDefault(); }, false);

很明显。这阻止了“touchmove”上的默认事件。呸呸呸

于 2013-09-11T14:48:31.960 回答
0

您可以通过应用此 jquery 来解决此问题,代替 ClassName 您必须添加要在其中滚动的包装类的名称,如果您仍然遇到问题,请告诉我,我会尝试提供更多帮助。

$('.ClassName').bind('touchmove', function(e){
  e.stopPropagation();
});
于 2017-11-23T08:55:48.137 回答