Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使ng repeat生成的所有div的高度相等_Javascript_Jquery_Html_Css_Angularjs - Fatal编程技术网

Javascript 如何使ng repeat生成的所有div的高度相等

Javascript 如何使ng repeat生成的所有div的高度相等,javascript,jquery,html,css,angularjs,Javascript,Jquery,Html,Css,Angularjs,我使用jquery插件使div的高度相同。为了使插件正常工作,我必须将equalheight添加到我希望具有相同高度的div中。如果不是通过ng repeat生成div,则该插件可以正常工作 如何使ng生成的所有div重复相同的高度 html <div class="col-md-4" ng-repeat="dept in mainCtrl.departments" ng-hide="filteredCareers.length == 0"> <div class="j

我使用jquery插件使div的高度相同。为了使插件正常工作,我必须将
equalheight
添加到我希望具有相同高度的div中。如果不是通过ng repeat生成div,则该插件可以正常工作

如何使ng生成的所有div重复相同的高度

html

<div class="col-md-4" ng-repeat="dept in mainCtrl.departments" ng-hide="filteredCareers.length == 0">
    <div class="job_list_box" ng-class="{'equalheight': filteredCareers.length > 0 }">
        <div class="job_list_icon">
            <img ng-src="{{dept.icon}}" alt="{{dept.name}}">
        </div>
        <h4 class="job_list-box-title">{{dept.name}}</h4>
        <ul class="job_list">
            <li ng-repeat="hiring in mainCtrl.careers | filter:dept.name as filteredCareers">
                <a href="#" data-toggle="modal" data-target="#job-modal-{{hiring.id}}">{{hiring.name}}</a>
            </li>
        </ul>
    </div>
</div>
我尝试使用
setTimeout
,然后在div上添加了
{{mainCtrl.setHeight}
,其中包含类
作业列表框
,但没有起作用

setTimeout(function(){
    self.setHeight = "equalheight"
},100)

我还尝试了我在网上找到的其他解决方案,如angular插件、flexbox方法等,但都不起作用。

不确定是否需要插件,似乎可以使用
height
overflow
属性来完成

div{
高度:100px;
溢出:自动;
边框:1px纯绿色;
边缘顶部:30px;
}

读者在查看页面布局时会被页面的可读内容分散注意力,这是一个早已确定的事实。使用Lorem Ipsum的意义在于,它或多或少具有字母的正态分布,而不是使用“此处的内容,
内容在这里,使它看起来像可读的英语。许多桌面发布软件包和网页编辑器现在使用Lorem Ipsum作为默认模型文本,搜索“Lorem Ipsum”将发现许多尚处于起步阶段的网站。各种版本
经过多年的发展,有时是偶然的,有时是有意的(注入幽默等)。
读者在查看页面布局时会被页面的可读内容分散注意力,这是一个早已确定的事实。使用Lorem Ipsum的要点是

在css中使用最大高度
弹性框
属性。

在链接到的插件中,加载库时会自动调整大小。这可能发生在angular应用程序渲染元素之前

虽然我找不到任何显式API,但在JS文件中,我找到了以下初始化代码:

$('.equalheight').simpleequalheight({
    responsive: true
});
一些关于初始化jQuery插件以在Angular中动态呈现元素的便捷链接:

也许在你的angular应用程序渲染后运行它会有所帮助

作为替代方案,我建议使用flexbox来处理此问题。样本:

.col1{
背景:红色;
}
.col2{
背景:黄色;
}
.col3{
背景:粉红色;
}
上校{
填充:0.5雷姆;
}
.集装箱{
显示器:flex;
}

Lorem Ipsum只是印刷和排版行业的虚拟文本。
Lorem Ipsum只是印刷和排版行业的虚拟文本。自16世纪以来,Lorem Ipsum一直是行业标准的虚拟文本,当时一位不知名的印刷商拿起一个打印工具,将其拼凑成一本打印样本书。
Lorem Ipsum只是印刷和排版行业的虚拟文本。自16世纪以来,Lorem Ipsum一直是行业标准的虚拟文本,当时一位不知名的印刷商拿起一个打印工具,将其拼凑成一本打印样本书。信息技术
它不仅存活了五个世纪,而且还跨越到电子排版,基本上保持不变。它在20世纪60年代随着包含Lorem Ipsum段落的Letraset表单的发布而流行,最近随着desktop的发布而流行
发布软件,如Aldus PageMaker,包括Lorem Ipsum版本。

第一个解决方案奏效了。谢谢正如我在问题中所说,flexbox方法对我不起作用。
$('.equalheight').simpleequalheight({
    responsive: true
});