javascript - Tumblr Masonry 与 PXU 照片集问题

标签 javascript jquery css tumblr jquery-masonry

当我将 Masonry 用于我的 Tumblr 主题时,我遇到了 PXU Photoset Extended 无法正确加载的问题。我知道是什么原因造成的,遗憾的是我不知道如何解决它。

我发现加载 Masonry 时唯一减少闪烁的方法是使用 CSS (display:none) 隐藏容器,然后在加载 Masonry 脚本时取消隐藏它。

这似乎有一个奇怪的副作用,即 PXU Photoset 脚本无法正确渲染图像(它们大部分被 chop ,并且在调整窗口大小时跳转到它们的真实大小)。

所以我使用这段代码来调用 Masonry、ImagesLoaded 和 Infinite Scroll:

$(document).ready(function(){

    var $container = $('#container');

    $container.imagesLoaded(function(){
        $container.show();
        $container.masonry({
            itemSelector: 'article',
            gutter: 50,
            isFitWidth: true,
        });
    });

    $container.infinitescroll({
        navSelector  : '#pagination-infinite',    // selector for the paged navigation
        nextSelector : '#pagination-infinite a.next',  // selector for the NEXT link (to page 2)
        itemSelector : 'article',     // selector for all items you'll retrieve
        animate: true,
        extraScrollPx: 310,
        bufferPx: 40,
        loading: {
            msgText: '',
            finishedMsg: '',
            img: 'http://static.tumblr.com/amhdmud/iMBn235bd/1x1.png'
        }
    },
    // trigger Masonry as a callback
    function( newElements ) {
        // hide new items while they are loading
        var $newElems = $( newElements ).css({ opacity: 0 });
        // ensure that images load before adding to masonry layout
        $newElems.imagesLoaded(function(){
            // show elems now they're ready
            $container.masonry( 'appended', $newElems, true );
        });
    });

});

然后是 PXU Photoset Extended:

$(document).ready(function() {
$('.photo-slideshow').pxuPhotoset({
'rounded'   : 'false', // corners, all or false
}, function() {
// Callback
});
});

使照片集正确显示的唯一方法是移除显示:无;从容器中取出,但随后 Masonry 在页面加载时再次从容器中闪烁,我似乎无法通过任何其他方式修复。

非常感谢任何帮助,

谢谢。

最佳答案

PXU Photoset 插件要求页面上的照片集可见,以便计算可用区域。不要在容器上使用 display: none; 尝试使用 visibility: hidden; 然后在 Masonry 完成后将其更改为 visibility: visible; .

此外,您还需要确保 Photoset 插件在 Masonry 首次通过您的主题之前运行。

关于javascript - Tumblr Masonry 与 PXU 照片集问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22290802/

相关文章:

javascript - 添加到列表而不重复出版物

javascript - 尽管有伪造的 getBoundingClientRect(),您如何将事件坐标转换为 SVG 坐标?

html - 从 Adob​​e XD 转换 HTML/CSS

html - 如何使用 css flex boxes 创建 slider 布局?

javascript - CSS 覆盖菜单在 Firefox 中不起作用

javascript - jsPlumb 连接没有相应地移动到元素位置

javascript - 从 Firebase 数据库加载数据并使用 JavaScript 放置在 map 的标记上

jquery - 点击事件仅在手指不滑动时起作用

javascript - JQuery Ajax 是如何工作的?

javascript - 弹出窗口的 Jquery 关闭问题