iScroll无法在iPhone上进行jquery show / hide

时间:2014-04-22 10:00:50

标签: javascript iphone cordova iscroll

我正在使用iscroll构建一个用于滚动的phonegap应用程序。当我动态地将控件附加到div并在点击时显示/隐藏div时,我遇到了问题。 div显示然后自动隐藏。我已经给出了下面的代码示例。将大大提供任何帮助。

首先我单独尝试使用scroll.refresh(),但由于它不起作用,我尝试根据Google中的论坛帖子进行销毁和重新创建。但是,它也不起作用。

HTML

<div class="wrapper" id="wrapper">
        <main class="content" id="scroller">
            <ul>
                <li>
                    <span id="usertype-link">
                    </span>
                    <div class="b-preferences__select b-preferences__select--type" id="search-user-type-div">
                    </div>
                </li>
            </ul>
        </main>
    </div>

JS

$('#search-user-type-div').hide();
$('#usertype-link').bind('click', function () {
    if ($('#search-user-type-div').is(":visible")) {
        $('#search-user-type-div').hide();
        $('#usertype-link').removeClass('open').addClass('close');
    }
    else {
        $('#search-user-type-div').show();
        $('#usertype-link').removeClass('close').addClass('open');
    }
    //scroll.refresh();
    searchpreferences.rebuildScroll();
})

rebuildScroll: function () {
    scroll.destroy();
    scroll = null;
    scroll = new iScroll('wrapper', { vScrollbar: true, hScrollbar: false, vScroll: true, hScroll: false, onBeforeScrollStart: null });

    //setTimeout(function () {
    scroll.refresh();
    //}, 0);
}

任何帮助都将不胜感激。

普里亚恩

1 个答案:

答案 0 :(得分:0)

我没有确切的解决方案,但我建议使用最新版本的iScroll (v5)。它完全重建,可能解决了你的问题。