首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Angular-masonry -展开项目

Angular-masonry -展开项目
EN

Stack Overflow用户
提问于 2013-08-29 19:54:45
回答 1查看 500关注 0票数 3

简而言之,我希望使用Angular-masonry指令(http://passy.github.io/angular-masonry/)实现的目标是这样的:http://codepen.io/desandro/pen/htsui

我尝试了许多不同的方法,但更大的div只是沿着下一个div的顶部展开。

这是HTML:

代码语言:javascript
复制
<div class="row" ng-controller="DemoCtrl">
        <div class="span12">
            <div masonry >
                <div class="masonry-brick" ng-repeat="brick in bricks">
                     <div ng-class="brick.cssClass"  ng-click="changeBrick($index)">
                        <img ng-src="{{brick.src}}" alt="A masonry brick" >
                        <span>Here is a load of text to see what fits in here and such </span>
                     </div>
                </div>
            </div>
        </div>
    </div>

这是angular代码的一个片段:

代码语言:javascript
复制
app.controller('DemoCtrl', function ($scope, $timeout,$element) {

..

 $scope.changeBrick= function changeBrick(i) {
  $scope.bricks[i].cssClass = 'big';
  $element.masonry();
  $element.masonry('layout');
 }
}

这些样式只是为了测试:

代码语言:javascript
复制
.small{
 width: 200px;
 background-color: lime;
}

.big{
 width: 400px;
 background-color: red;
}

在那一刻,div只是沿着下一个div的顶部展开-我真的希望masonry能做它自己的事情,并重新排列其他div。

EN

回答 1

Stack Overflow用户

发布于 2015-01-16 00:12:03

尝试广播masonry.reload消息以获取angular-masonry以刷新布局。我遇到了一个半类似的问题,这似乎起作用了:https://stackoverflow.com/a/27967782/3191599

代码语言:javascript
复制
function refresh() {
    common.$timeout(function () { $scope.$broadcast('masonry.reload'); }, 100);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18510287

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档