Пользовательский размер фотоснимка Tumblr с бесконечной прокруткой

0

В последнее время я немного борюсь с javascript, и, честно говоря, я не знаю об этом.

Сообщения на моем tumblr имеют ширину 350 пикселей, но поскольку фотосеты используют iframes, я искал другое решение на фотосетях и нашел этот код:

<script type="text/javascript">
//This will change the source address and display the correct size.
    $newElems.imagesLoaded(function(){
            $(".photoset").each(function() { 
        var newSrc = $(this).attr("src").replace('500','350');
        $(this).attr("src", newSrc);       
    });
}
//This will get the new size of the iframe and resize the iframe holder accordingly.
$newElems.imagesLoaded(function(){
    $(function(){
    var iFrames = $('.photoset');
    function iResize() {
        for (var i = 0, j = iFrames.length; i < j; i++) {
            iFrames[i].style.height = iFrames[i].contentWindow.document.body.offsetHeight + 'px';}
        }

        if ($.browser.safari || $.browser.opera) { 
            iFrames.load(function(){
                setTimeout(iResize, 0); 
            });

            for (var i = 0, j = iFrames.length; i < j; i++) {
                var iSource = iFrames[i].src;
                iFrames[i].src = '';
                iFrames[i].src = iSource;
            }
        } else {
            iFrames.load(function() {
                this.style.height = this.contentWindow.document.body.offsetHeight + 'px';
            });
        }
    });
}

Он работает отлично, когда я иду в свой блог.
Теперь мы приходим к моей проблеме: My tumblr использует бесконечный плагин прокрутки. И всякий раз, когда я прокручиваю вниз, загружается новая куча картинок, и если загружается фотосет, она больше не изменяется, и она отображается в размере по умолчанию.

Я искал решение целую вечность, пытался настроить javascript-коды, но я ничего не понимаю. Единственное, что я нашел в Интернете, это то, что не помогает, и я действительно надеюсь, что кто-то может помочь мне здесь, я был бы более чем благодарен.

Заранее спасибо!

Теги:
tumblr

1 ответ

0

С бесконечным прокруткой вам нужно применить любые методы, используемые в вашем существующем контенте, к вашему новому контенту, в этом случае его iFrames() и .photosets. Это можно сделать с помощью обратного вызова, предоставляемого бесконечным прокруткой.

Согласно документации (http://www.infinite-scroll.com/):

$('#content').infinitescroll({
    navSelector  : "div.navigation",
    nextSelector : "div.navigation a:first",
    itemSelector : "#content div.post" },
    // callback
    function( $newElems ){
    // Do stuff to new posts / $newElems
    });
});

$newElems будет содержать любое новое содержимое, добавленное в dom. Теперь используйте свои методы непосредственно на новом контенте.

Я бы предложил переработать iFrames() чтобы он принял массив элементов, поэтому его можно назвать более чем одним.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню