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 newb 头:(

4

2 回答 2

1

在您正在使用的无限滚动的缩小脚本上运行JS- beautifier 后,我能够找到这个日文文档。运行谷歌翻译,据我所知,您应该能够在调用该SendRequest()方法时将回调函数作为第一个参数传递,我相信您调用的是无限滚动。

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

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

更新:

再四处寻找,我发现了这个未缩小的脚本版本。不幸的是,代码注释是日文的,但我想你也可以在这些注释上运行谷歌翻译以获得一些额外的信息。

于 2012-07-01T21:13:42.303 回答
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/

于 2012-07-01T22:01:39.020 回答