2017-08-02 14 views
0

私はチャットアプリで作業していますが、メッセージに画像がある場合、スクロールボトム、ng-repeatの最後のアイテムに対するディクショナリが正しく動作していないようです。 だから、ちょうど下にスクロールしません。 私は、画像が完全に読み込まれる前に指示がスクロールするという理由があると思います。スクロールボトムAngularjsディレクティブ

    // Scroll to bottom directive 
        .directive('schrollBottom', function ($timeout) { 
         return { 
         scope: { 
          schrollBottom: "=" 
         }, 
         link: function (scope, element) { 
          scope.$watchCollection('schrollBottom', function (newValue) { 
          if (newValue) 
          { 
          $timeout(function() { 

          $(element[0]).scrollTop($(element)[0].scrollHeight); 
         }, 0, false); 



          } 
          }); 
         } 
         } 
        }) 
+0

何かをする前にイメージが読み込まれるまで待つ方法については、[こちら](https://stackoverflow.com/questions/12354865/image-onload-event-and-browser-cache)をご覧ください。すべての画像にクラスを追加して、そのクラスのすべての画像がスクロールする前に読み込まれるまで待つことができます。 – Lansana

+0

@ Lansana、ありがとうございます。あるディレクティブに物事を持たせる方法があります。画像が読み込まれていればコレクションと第2条件を監視していますか? – Beny

+0

私はあなたが持っているロジックを保持し、 'img.onload'コールバックハンドラの中に入れます。下にスクロールすると、すべての画像がロードされた後にのみスクロールします。 – Lansana

答えて

1

hereをチェックして、何かをする前にイメージが読み込まれるのを待つ方法を確認してください。すべての画像にクラスを追加して、そのクラスのすべての画像がスクロールする前に読み込まれるまで待つことができます。

私はあなたが持っているロジックを保持し、img.onloadコールバックハンドラの中に入れます。下にスクロールすると、すべての画像がロードされた後にのみスクロールします。

関連する問題