我是JS新手,希望这个问题看起来不太愚蠢。
我在我的网站上使用砖石结构-
效果很好。我想让我的盒子在砌筑完成时出现。在互联网上搜索时,我发现了几则建议使用图像加载的插件来解决此问题的帖子。它只是什么都没有改变。这意味着:我的布局和内容框一直被弄乱,直到砌筑完成加载为止,然后框突然跳到了正确的位置。
我的代码:
$(document).ready(function() {
var $container = $('#post-area');
$container.imagesLoaded( function() {
$container.masonry({
itemSelector : '.box',
columnwidth: 300,
gutter: 20,
isFitWidth: true,
isAnimated: !Modernizr.csstransitions
});
});
});
我也收到此萤火虫错误:
TypeError: EventEmitter is not a constructor
ImagesLoaded.prototype = new EventEmitter();
我在网站结尾处像这样加载了imagesloaded js(如果砌筑中已经包含了imageloaded图像,我找不到任何信息,有些人写道它不再包含在内-
令人困惑):
<script src="http://www.domainname.com/js/imagesloaded.js"></script>
如果有人可以帮助我,我将非常高兴。并告诉我imagesloaded是否是解决此问题的正确插件!
imagesLoaded不包含在Masonry中,因此您应该使用单独的plugin。我建议使用编译的.min版本。
关于堆叠图像的问题:问题不在imagesLoaded或Masonry中。在您的代码中,imagesLoaded等待所有图像加载完毕,然后发射砖石。加载所有图像后,Masonry插件可以正确定义其大小并放在网格上。在此之前,浏览器照常加载图像并根据定义的CSS显示’em,这就是为什么它们被弄乱了的原因。
一种可能的解决方案是默认情况下隐藏元素,然后在imagesLoaded确认图像已加载时淡入:
$(document).ready(function() {
var $boxes = $('.box');
$boxes.hide();
var $container = $('#post-area');
$container.imagesLoaded( function() {
$boxes.fadeIn();
$container.masonry({
itemSelector : '.box',
columnwidth: 300,
gutter: 20,
isFitWidth: true,
isAnimated: !Modernizr.csstransitions
});
});
});
问题内容: 我正在尝试仅使用CSS和flexbox创建水平砌体布局。我遇到的问题是元素之间存在垂直间隙,而没有使用它可以缩小间隙吗? 问题答案: 这是一个使用换行列的选项,但它需要固定的高度。
问题内容: 有没有办法利用Bootstrap 4随附的flexbox网格来创建砌体柱布局?在我看来,所有的列都是相等的高度。 问题答案: 这对于标准的Bootstrap 4类几乎是可行的。文档中甚至有一整节关于“证件栏”功能。 从文档中: 只需将CSS包裹在中,就可以使用CSS将 卡片组织成类似于砌体的列。卡是使用列属性而不是flexbox构建的,以便于对齐。卡的排列顺序是从上到下,从左到右。 小
问题内容: 当有人通过我的应用程序工作时,我正在尝试在后台加载图像。我写的逻辑是这样的: 但是,当我尝试启动这样的新线程时: 但是在程序中我得到错误Looper.prepare必须被调用,随后是逻辑looper.quit() 但是,当我添加Looper.prepare()时,似乎中断了程序,并且没有要调用的looper.quit()。 我是否正确创建任务? 编辑: 这是我尝试运行时的错误日志: 我
问题内容: 我想在CSS中使用大小均相同但高度不相同的元素来实现网格效果。我希望下面的元素始终位于底部元素的50px处,无论接下来是什么。 我尝试使用浮点数,但该错误。因此,我尝试使用Flex,但是它仍然无法满足我的要求。 问题答案: Try the new CSS Grid Layout 建立一个块级网格容器。该grid-auto-rows属性设置自动生成的行的高度。在此网格中,每行高度为50p
问题内容: 我在下面编写的功能是否足以在当今大多数(如果不是全部)浏览器中预加载图像? 我有一个图像URL数组,可以循环访问这些URL,并为每个URL 调用该函数。 问题答案: 是。这应该适用于所有主要的浏览器。
当我启动应用程序时,我没有看到任何错误,但是是一个空数组。组件本身位于。我试着直接加载图像: 但无论我指定的路径是什么,如果出现错误,它就不能正常工作了。但是,我需要从文件夹加载所有图像,而不是静态加载,因为我事先不知道图像的名称。如有任何建议,将不胜感激。