私はAngularJSを使ってポッドキャストプレーヤーアプリケーションを作成しようとしています。ng-repeat内の特定のポイントにDOM要素を挿入する最も賢明な方法はありますか?
これまでのところ、ng-repeatを使って再生できるポッドキャストのリストがあります。
<ul ng-controller="list">
<li ng-repeat="podcast in podcasts" ng-click="startPlaying()">
<p>{{podcast.created_time | date}}</p>
<div class="podcast-icon" style="background-image:url('{{podcast.icon}}')">
<i class="fa fa-play"></i>
</div>
<h3>{{podcast.name}}</h3>
<p>{{podcast.duration}}m</p>
</li>
</ul>
これらは、応答性のフレキシボックスグリッドに表示されている、と私は、similar to Netflixはすぐにクリックした項目の下の行に、表示されるようにプレーヤーをトリガする機能startPlaying
が欲しい欲しいです。
- は、グリッドが応答性であることを考えると、クリックされた要素の列の終わりに
<li>
要素のインデックスを取得し、<li>
秒の数:は私がする方法について困惑しています各行のビューポートで変更されます。
- ng-repeatに特定のインデックスの後に新しいDOM要素を挿入するには、angleを指定します。
私はwindow.getComputedStyle(ul).width
で、親の幅から行あたりの<li>
秒数を推測することができたとしますが、これはロータリーようです。より良い方法がありますか?
ありがとうございます!