8

可能であれば例を挙げて、iscroll div内に動的コンテンツをロードして新しい高さを割り当てる方法を誰かが説明できますか?

動作させることはできますが、新しいコンテンツのスクロールの高さを制御できません。

私はこれらすべてに不慣れで、始める手がかりがありません。

ここに私が取り組んでいるものがあります:

http://homepage.mac.com/jjco/test/index7.html

ページが読み込まれると、コンテンツのないスクロール バーが表示されます... print/damm をクリックします (このコンテンツに最初に設定した高さを表示します) print/fcbarcelona をクリックします (使用したスクロールと同じ高さと位置を維持します)前) ご覧のとおり、正常に機能していません。明らかに、スクロールが必要でないときはスクロールしたくありません。

どんな助けでも大歓迎です。

4

5 に答える 5

14

高さを再計算する iScroll の refresh() メソッドを使用することをお勧めします。

myScroll.refresh();
于 2012-08-18T21:55:21.823 に答える
3

私は同様の問題を抱えていましたが、refresh()役に立たなかったので、iScroll を破棄して再作成するのに役立ちませんでした。私の場合、iScroll div に多くの要素をロードしていました。問題を解決したのはsetTimeout(). MASTERING THE REFRESH() METHODで述べたよう0msに、 aにさえ追加setTimeout()すると、多くの問題が解決します。私の場合は でした500ms。=

コードサンプルは次のとおりです。

    var myScroll;

    function createIScroll(){
    myScroll = new iScroll('wrapper');
    }

    function iScrollRefresh(){
      setTimeout(function(){
         myScroll.refresh(); 
      }, 500);
    }
$ajax(){ 
//receiving data
}
function someFunction(){
  //dynamic content is created
  iScrollRefresh();
}

私の問題は、refresh()コンテンツがDOMに挿入される前に関数が実行されたため、タイムアウトを増やすことが役に立ちました。私のような初心者の参考になれば幸いです。

于 2013-02-16T06:08:36.403 に答える
3

これを試してください。新しいデータをiScrollに挿入するときは、これらの手順を実行してください

//myScroll is a global variable you initialize iScroll on
myScroll.destroy();
myScroll = null;
loaded();//this is a functions where you have have your iScroll initializer 
于 2011-11-11T22:47:18.980 に答える
-1

iScroll4
を見てください iscroll.js に実験的なオプションがあります: checkDOMChanges: false,// 実験的
有効にして使用できます。

于 2016-03-12T04:26:15.763 に答える