javascript - Masonry v3 在附加元素时是否仍然支持飞入过渡?

标签 javascript jquery css jquery-masonry

我是第一次实现 Desandro Masonry。我有一个使用 Masonry v3 和 InfiniteScroll 的功能实现。在容器底部添加新元素时的过渡是淡入并从 0px 增长到适当的大小。

我看到很多关于使用浏览器窗口边缘的飞入效果的旧版本的引用。是否还有办法在新版本中实现此转换?

我怀疑关键在于 visibleStyle 和 hiddenStyle 参数,但我不知道我需要将它们设置为什么。

visibleStyle 和 hiddenStyle 的默认值:

visibleStyle: { opacity: 1, transform: 'scale(1)' },
hiddenStyle:  { opacity: 0, transform: 'scale(0.001)' }

我的代码:

    //Singleton for handling layout
    var bvtPageLayout = {
        masonry         : null,
        initialize      : function () {

            //init masonary layout
            var masonaryArguments = {
                columnWidth: '.column-sizer',
                gutter: '.gutter-sizer',
                itemSelector: '.recipe',
                transitionDuration: '1s',
                visibleStyle: { opacity: 1, transform: 'scale(1)' },
                hiddenStyle:  { opacity: 0, transform: 'scale(0.001)' }
            };
            $('.recipes.masonry').masonry(masonaryArguments);
            bvtPageLayout.masonry = $('.recipes.masonry').data('masonry');

            //init infinitescroll
            var numberPages = $('ul.pager li a').length;
            $('.recipes.masonry').infinitescroll({
                loading: {
                    img         : "",
                    msgText     : "<em>Loading...</em>",
                    finishedMsg : "<em>No more recipes.</em>"
                },
                state: {},
                debug: true,
                navSelector  : "ul.pager",
                nextSelector : "ul.pager a.next",    
                itemSelector : ".recipes.masonry",
                maxPage      : numberPages
                }, 
                function(newContent) {
                    bvtPageLayout.masonry.appended( newContent );                       
                }
            );
        }
    }

最佳答案

我想出了一个解决办法。我使用了一个 translateX CSS3 过渡,其中叠加了已经存在的缩放和不透明效果。

以下是更新后的受影响参数:

        visibleStyle:   { opacity: 1, transform: 'translateX(0px) scale(1)' },
        hiddenStyle:    { opacity: 0, transform: 'translateX(-800px) scale(0.10)' }

关于javascript - Masonry v3 在附加元素时是否仍然支持飞入过渡?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19152344/

相关文章:

javascript - 在不使用返回值的情况下执行映射操作是反模式吗?

javascript - 无法更改 <template> 中第一个元素的 div ID

javascript - 文本未环绕在 div 元素内

javascript - jquery 选择器中的动态 ID 不起作用

Javascript为类中的所有复选框添加事件监听器

jquery - Grails:如何使用jQuery和Ajax将数据发送到 Controller

javascript - 在移动 IE 上禁用标注(上下文菜单)

html - 自定义复选框在选中时会轻微移动

javascript - 如何根据上一个下拉列表中的选择创建新的下拉列表

jquery - 隐藏行内容时折叠 Google Vis 表