-1

私はiscrollに小さな問題があります。phonegap と jquery mobile を使用して iphone 用の小さなアプリを作成しています。json から外部データを取得し、iscroll と data-iscroll = "" を使用します。リスト ビューのコンテンツを読み込むと、iscroll はうまく機能しますが、 out と back in 別の記事で、iscroll の位置を覚えて、ページの先頭から実行できればと思います。

これは私の例ですhttp://www.viaggiosullaluna.it/es ​​.zip

ヘルプのタイ。

4

3 に答える 3

3

iScroll4 には.refresh()メソッドがあります。

次のようなものを使用して iscroll インスタンスを作成したことを考慮してください。

var myScroll = new iScroll('idOfElement', {/*options*/});

新しい記事を呼び出す関数の最後 (およびスクロール可能なコンテンツを変更するすべての関数) に以下を追加します。

setTimeout(function () {
    myScroll.refresh();
}, 100);

このようにして、スクロール可能な領域の高さを再計算し、スクロールをやり直します。詳細については、 http://cubiq.org/iscroll-4MASTERING THE REFRESH() METHODを参照してください。

アップデート

スクロールして一番上に戻るには、次を使用します。

myScroll.scrollTo(0, 0);

ドキュメントは述べていscrollTo(x, y, time, relative)ます。timeミリ秒単位(おそらく望まないスクロールの「アニメーション」用)でありrelative、現在の要素に基づいてスクロールすることを意味します(これも望ましくありません)。

詳細については、 http://cubiq.org/iscroll-4JAVASCRIPT SCROLLINGを参照してください。

于 2013-05-07T17:33:59.963 に答える
0

すみません、よくわかりません。残念ながらjsのエースではありません。関数 myScroll.scrollTo (0, 0) をコードに挿入する方法を理解する必要があります。あなたは私を助けてくれて本当に親切です。次の 3 つの関数を使用します。

ジャバスクリプト

$("#malattie_page").live("pageinit", function() {
});
$("#malattie_interno_page").live("pageinit", function() {
});

$("#malattie_page").live("pagebeforeshow", function(event,data) {
$.ajax({
    url: "http://www.viaggiosullaluna.it/ipediatria_admin/json/malattie.php",    
    type: 'post',
    dataType: 'json',
    crossDomain : true,
    async:false,
    success: function(retval, textStatus){              
        var html = "<ul id='lista_malattie' data-role='listview'  data-autodividers='true' data-filter='true' data-filter-placeholder='Search...'>";
        for (var i=0; i<retval.length; i++) {
            html += "<li><a href='#malattie_interno_page'  data-transition='slide' class='contentLink' data-entryid='"+retval[i]['id']+"' >"+retval[i] ['title']+"</a></li>";
        }
        html += "</ul>";
        $("#interno_malattie").html(html);
        $("#lista_malattie").listview();
    }
});
 });
$("#malattie_interno_page").live("pagebeforeshow", function(event,data) {
$.ajax({
    url: "http://www.viaggiosullaluna.it/ipediatria_admin  /json/malattie.php?id="+selectedEntry,
    type: 'post',
    dataType: 'json',
    crossDomain : true,
    async:false,
    success: function(retval, textStatus){    
        var html =""
        for (var i=0; i<retval.length; i++) {
            if(selectedEntry == retval[i]['id']) {
                html += "<h3>"+retval[i]['title']+"</h3>";
                html += "<div class='interno'>"+retval[i]['content']+" </div>";
             }
         }
        $("#interno_malattie_page").html(html);
    }
  });   
  });

  $("#malattie_page").live("pageshow", function(prepage) {
});
$("#malattie_interno_page").live("pageshow", function(prepage) {
setTimeout(function(){$('#malattie_interno_page [data- role="content"]').iscrollview('refresh');}, 0);
 });

AND HTML

<!-- PAGE MALATTIE -->
    <div data-role="page" class="ui-responsive-panel" id="malattie_page">
        <div data-role="header"  data-theme="f" data-position="fixed">
            <h1>MALATTIE</h1>
            <a href="#nav-panel" data-icon="bars" data-iconpos="notext">Menu</a></div><!-- /header -->
        <div data-role="content"  data-iscroll="">
            <div id="interno_malattie">

            </div>
        </div><!-- /content -->         

        <div data-role="panel" data-position="left" data-position-fixed="false" data-display="reveal" id="nav-panel" data-theme="a">
            <ul data-role="listview" data-theme="a" data-divider-theme="a" style="margin-top:-16px;" class="nav-search">
                <li data-icon="delete" class="close-button"><a href="#" data-rel="close">MENU INTERNO</a></li>

                <li><a href="#malattie_page" data-transition="fade">PAGE</a></li>
            </ul>
        </div><!-- /panel -->           
    </div><!-- /page -->


    <!-- PAGE MALATTIE INTERNO PAGINA -->
    <div data-role="page" class="ui-responsive-panel" id="malattie_interno_page">
        <div data-role="header" data-theme="f"  data-position="fixed">
            <h1>MALATTIE</h1>
            <a href="#malattie_page" data-rel="back" data-transition="slide" data-direction="reverse">Back</a>
        </div><!-- /header -->
        <div data-role="content" data-iscroll="">
            <div id="interno_malattie_page">


            </div>
        </div><!-- /content -->         

        <div data-role="panel" data-position="left" data-position-fixed="false" data-display="reveal" id="nav-panel" data-theme="a">
            <ul data-role="listview" data-theme="a" data-divider-theme="a" style="margin-top:-16px;" class="nav-search">
                <li data-icon="delete" class="close-button"><a href="#" data-rel="close">MENU INTERNO</a></li>

                <li><a href="#malattie_page" data-transition="fade">PAGE</a></li>

            </ul>
        </div><!-- /panel -->           
    </div><!-- /page -->
于 2013-05-08T07:50:22.717 に答える