jQuery垂直スクロールバーを動的コンテンツに追加します
-
10-10-2019 - |
質問
私はウェブサイトを開発しています。メインDIVは、その領域をオーバーフルするコンテンツ用のjQuery垂直スクロールバーを備えた固定高さにしたいと考えています。このために、私はプラグインを使用しています jscrollpane.
ただし、プラグインZRSSFeedを使用して、このコンテンツをRSSフィードから動的にロードしたいと思います(新しいユーザーなので、2つのリンクを投稿できません!)。
これを行うには、次のようなrssfeed関数を呼び出す必要があります。
$( "#feed")。rssfeed(.... feed url and options);
次に、rssfeed関数を呼び出すことによって動的に作成されたdivにjscrollpaneを適用したいと思います。しかし、jQuery要素を見つけようとするたびに、まだ存在していません。
私が知る限り、RSSFeedには使用できるコールバック関数は含まれておらず、RSSFeedを呼び出した後にチェーンJSCrollpaneを機能させようとしましたが、それも機能しませんでした。
助言がありますか??
解決
Davidに多くのことを望んでいることに同意する必要がありますが、クラスにコールバックハンドラーを自分で実装することができます。
デビッドが提案したのと同じ場所で、 $(e).html(html);
以下を追加します:
if(options.complete!=null) { options.complete();
}
次に、HTMLで:
$(document).ready(function () {
$('#feed').rssfeed('http://myrssfeedurl', {
limit: 5,
complete: function() { $("#feed div").jScrollPane(); }
});
});
他のヒント
ZRSSFeedプラグインを簡単に見てみましたが、コードは多くのことを望みます...しかし、_callback関数の最後に、独自のトリガーを追加できるかもしれません。 $(e).html(html);
スクリプトの最後に。追加してみてください:
$(e).trigger('rss');
そして、メインプログラムでは、次のような要素でRSSイベントを聞くことができます。
$('#feed').bind('rss', function() {
// the html should now be injected
}).rssfeed( '/stuff.xml' );
それはきれいではありませんが、それがここで必要なものであれば、クイックフィックスかもしれません。