Flickity 不会渲染轮播中的第二张图片
2015-08-09
5638
http://codepen.io/Thisisntme/pen/rVRyJE 是对我网站的测试。我试图添加一个 flickity 轮播,但由于某种原因,它不会渲染 div 中的第二张图片。这是没有所有其他 html 和 css 内容的轮播。 http://codepen.io/Thisisntme/pen/waOeWa
<div class="gallery js-flickity">
<div class="gallery-cell">
<img src="https://4c95d0ec6dcefe3d6c4d74191bd78c322c485be4.googledrive.com/host/0Bxf7lERLL3TlfjlMT28zSU9RdUFqZ2ZzWlFyWFpKMzJIbUpBelFIUnlsbTVHVUlfNVJfaXc/ART.JPG" alt="art">
</div>
<div class="gallery-cell">
<img src="https://4c95d0ec6dcefe3d6c4d74191bd78c322c485be4.googledrive.com/host/0Bxf7lERLL3TlfjlMT28zSU9RdUFqZ2ZzWlFyWFpKMzJIbUpBelFIUnlsbTVHVUlfNVJfaXc/STUFF.jpg" alt="stuff">
</div>
<div class="gallery-cell">
</div>
<div class="gallery-cell"></div>
<div class="gallery-cell"></div>
</div>
CSS:
* {
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
.gallery {
padding: 50px 0px 0px 0px;
}
.gallery img {
display: block;
width: 100%;
height:auto;
}
以下是图片链接良好的证明
哦,没有 jQuery。
编辑:对于那些仍然关心的人,图像不再起作用。Google Drive 停止让您从他们的服务器托管。
2个回答
您的
.gallery-cell
只需要
width
为
100%
,并且至少对我来说,您的
img
标签需要明确关闭。为了解决尺寸问题,我使用 JS 明确初始化了 Flickity,而不是隐式使用 HTML 类。
JSFiddle: https://jsfiddle.net/3qr6hub1/2/
var flkty = new Flickity('.gallery');
* {
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
.gallery {
padding: 50px 0px 0px 0px;
}
.gallery-cell {
width: 100%;
}
.gallery img {
width: 100%;
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/flickity/1.0.0/flickity.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/flickity/1.1.0/flickity.pkgd.min.js"></script>
<div class="gallery">
<div class="gallery-cell">
<img src="https://4c95d0ec6dcefe3d6c4d74191bd78c322c485be4.googledrive.com/host/0Bxf7lERLL3TlfjlMT28zSU9RdUFqZ2ZzWlFyWFpKMzJIbUpBelFIUnlsbTVHVUlfNVJfaXc/ART.JPG" alt="art" />
</div>
<div class="gallery-cell">
<img src="https://4c95d0ec6dcefe3d6c4d74191bd78c322c485be4.googledrive.com/host/0Bxf7lERLL3TlfjlMT28zSU9RdUFqZ2ZzWlFyWFpKMzJIbUpBelFIUnlsbTVHVUlfNVJfaXc/STUFF.jpg" alt="stuff" />
</div>
<div class="gallery-cell">
</div>
<div class="gallery-cell"></div>
<div class="gallery-cell"></div>
</div>
Maximillian Laumeister
2015-08-09
好的,我也遇到了这个问题,留在这里等下一位 Google 员工来处理。每当我向轮播添加 图像 时,它都不会显示。
这是因为在附加单元格时,图像尚未加载。这意味着 Flickity 认为此单元格没有内容,从而使
.flickity-viewport
元素的高度为
0px
。
因此,您需要确保要附加的项目标记为 lazyLoaded 。这让 Flickity 知道它需要等待 imagesLoaded 才能解析内容。
示例:
myNewCell = '<img src="src.png" data-flickity-lazyload="src.png" />
flkty.append(myNewCell);
Romuloux
2016-11-17