0

私のブログhttp://seans.wsでは、画像のサイズを調べるスクリプトを作成しました。既定のコンテナー サイズよりも幅が広い場合は、残りの画像を中央に配置するために必要な負のマージンを計算します。コンテンツの。

これはうまく機能しますが、無限スクロールを介して画像が読み込まれ、スクリプトによって操作されません。

私の無限スクロール js: http://static.tumblr.com/q0etgkr/ytzm5f1ke/infinitescrolling.js

$(window).load(function() {
    var centerBigImages = $(function() {
        $('img').css('marginLeft', function(index, value){
        if($(this).width() > 660) {
            return -($(this).width() - 660)/2;            
        }
        return value;
    });
});

centerBigImages();

IEでこの DOMNodeInserted に相当するものを見てみましたか? 、しかし、それは私のjs初心者の頭を少し超えていました:(

4

2 に答える 2

1

使用している infite-scroll の縮小スクリプトでJS-beautifierを実行した後、日本語でこのドキュメントを見つけることができました。その上でGoogle翻訳を実行すると、私が見る限り、メソッドを呼び出すときに最初のパラメーターとしてコールバック関数を渡すことができるはずですSendRequest()。これは、無限スクロールを呼び出すと思います。

centerBigImages()その場合、最初のパラメーターとして渡すことができるはずです。

SendRequest(centerBigImages, ...your other parameters);

アップデート:

もう少し調べてみると、このスクリプトの縮小されていないバージョンが見つかりました。残念ながら、コード コメントは日本語ですが、Google 翻訳を実行して追加情報を得ることができると思います。

于 2012-07-01T21:13:42.303 に答える
0

最近、タンブラー ブログ (無限スクロールを使用する) のコードをカスタマイズするようになったので、このアイデアをいじっています。これは少し回りくどいことであり、DOMSubtreeModified が現在または将来どの程度サポートされるかはわかりませんが、一般的な関心のために投稿することにしました。

var triggerChange = function(event) {
    //do stuff
    monitorChanges();
};

var monitorChanges = function() {
    //Notice the use of 'one' so modifications I make in doStuff does not also cause infinite loop
    jQuery('#outer').one('DOMSubtreeModified', triggerChange);
}

monitorChanges();

ここのフィドルで最もよく示されています:http://jsfiddle.net/zf7rG/5/

于 2012-07-01T22:01:39.020 に答える