如何通过无限滚动加载我的脚本到图像?

时间:2012-07-01 21:01:08

标签: javascript jquery html css tumblr

对于我的博客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();

我看了一眼这个DOMNodeInserted equivalent in IE?,但是它比我的新头更有点了:(

2 个答案:

答案 0 :(得分:1)

在您正在使用的infite-scroll的缩小脚本上运行JS-beautifier后,我能够在日语中找到this documentation。运行谷歌翻译,从我所看到的,你应该能够在调用SendRequest()方法时将回调函数作为第一个参数传递,我相信你会调用你的无限滚动。

在这种情况下,您应该能够将centerBigImages()作为第一个参数传递:

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

<强>更新

更多地了解一下,我找到了this unminified版本的脚本。不幸的是,代码注释是日文的,但我想你可以在这些文章上运行谷歌翻译,以获取更多信息。

答案 1 :(得分:0)

我最近一直在研究这个想法,因为我刚刚为我的tumblr博客(使用无限滚动)定制了一些代码。这有点过分,我不确定现在或将来是否支持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/