- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经使用 Featherlight Gallery 设置了一个图像灯箱。
我正在使用这样的加载器动画:
http://github.com/noelboss/featherlight/wiki/Add-a-CSS-Only-Loader
但是,动画仅在您首次点击图片时显示。
如果您单击“下一张图片”,则在加载下一张图片时灯箱为空白。
测试示例(如何重现此问题):
去这里:http://jsfiddle.net/geraldo/w691hytm/
@-webkit-keyframes featherlightLoader {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
}
}
@keyframes featherlightLoader {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
}
}
.featherlight-loading .featherlight-content {
-webkit-animation: featherlightLoader 1s infinite linear;
animation: featherlightLoader 1s infinite linear;
background: transparent;
border: 8px solid #8f8f8f;
border-left-color: #fff;
border-radius: 80px;
width: 80px;
height: 80px;
min-width: 0;
}
.featherlight-loading .featherlight-content > * {
display: none !important;
}
.featherlight-loading .featherlight-close,
.featherlight-loading .featherlight-inner {
display: none;
}
您将在屏幕右下角看到 3 个缩略图。
单击鸟类的中间图像。它将显示加载动画。
点击“上一张图片”箭头。在加载大图像时,它什么也没显示,只是一个空白的白色区域。
单击“下一张图片”时是否未调用“.featherlight-loading”类?我需要向 css 添加一些东西吗?
提前致谢。
最佳答案
这是预期的行为。打开灯箱时会添加加载类,因为它提供了一些视觉转换,让用户知道正在发生的事情。在图像之间切换时,淡出和过渡效果应该足以指示正在发生的事情。
您遇到的问题是您使用的图片大小过大 - 每张接近 15MB。灯箱 UX 的设计不会考虑如此大的文件,因此有点缺乏 UX。
它似乎也没有在任何东西上放置一个明显的类,但如果您愿意稍微修改一下 CSS,您仍然可以这样做。
当 .featherlight-content
的父类具有 .featherlight-loading
类时,您可以不使用 css 将 .featherlight-content
div 本身放入加载元素中,而是可以向 .featherlight-content
添加一个伪元素。这里的关键是 loader 元素将在灯箱显示的所有时间呈现,而不仅仅是当它有一个类为 .featherlight-loading
的父元素时。但是,当加载图像时,它将显示在图像的顶部,因此您只能在框首次加载时以及在图像之间转换时看到它。
这是更新后的 fiddle :http://jsfiddle.net/w691hytm/20/
这里是带有更改注释的 CSS:
.inline { display: none }
/**
* Featherlight Loader
*
* Copyright 2015, WP Site Care http://www.wpsitecare.com
* MIT Licensed.
*/
@-webkit-keyframes featherlightLoader {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
}
}
@keyframes featherlightLoader {
0% {
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
}
}
// removed existing loading styles, added some fixed size when loading class is applied, otherwise spinner would be invisible/cutoff
.featherlight-loading .featherlight-content{
width: 96px;
height: 120px;
background: none;
overflow: hidden;
margin: 0;
}
// moved the loader styles to the pseudo-element and added positioning css
.featherlight .featherlight-content:before {
position: absolute;
box-sizing: border-box;
display: block;
content:'';
-webkit-animation: featherlightLoader 1s infinite linear;
animation: featherlightLoader 1s infinite linear;
background: transparent;
border: 8px solid #8f8f8f;
border-left-color: #fff;
border-radius: 80px;
width: 80px;
height: 80px;
min-width: 0;
top: calc(50% - 40px);
left:calc(50% - 40px);
z-index: 0;
}
// to make the image appear in front of the loader we apply a z-index:
.featherlight .featherlight-content img{
z-index: 1;
position:relative;
}
// to make prev and next buttons appear in front of the image we apply a z-index:
.featherlight-previous,
.featherlight-next{
z-index: 2;
}
.featherlight-loading .featherlight-content > * {
display: none !important;
}
.featherlight-loading .featherlight-close,
.featherlight-loading .featherlight-inner {
display: none;
}
关于javascript - Featherlight gallery 不显示加载器动画(加载下一个图像灯箱),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49582414/
我的表单( look at the demo fiddle here ,我还在下面粘贴了一些代码)似乎不支持 Featherlight 模式中的 tabindex 。 我想是因为this part o
我正在像这样打开一个新的 featherlight iframe: $.featherlight({ iframe:href, iframeWidth:$(window).width(
我有这个代码: jQuery(document).ready(function() { jQuery('a.apt-gallery-d').feat
Sophia de Boer
我有一个 demo-employee.php 页面,它检索系统的所有用户以及可以执行的特定操作: "> " data-featherlight>** " oncl
我正在使用 1.3.3 版的 featherlight.js,我仍然在大图像上进行垂直滚动。无论出于何种原因,事情的大小都没有完全正确地调整。 要复制,只需在其中放置一个指向一个非常大的图像的链接并运
我正在尝试创建一个包含提交数据的预览屏幕,并将其显示在 Featherlight Lightbox 中。 我有以下示例代码。 jQuery(document).ready(function() { /
这是一个非常具体的问题。有一个网站(我无法访问该网站),其中有一些 iframe,其中一个 iframe 链接到我有权访问的网站。 我的 iframe 应该包含指向另一个 iframe 的链接,并在单
所以,这是jsfiddle : 这是插件的链接 ( featherlight lightbox ) 问题是,使用默认的 targetAttr(data-featherlight),只需单击一下即可工作
如何通过在 featherlight 请求中发送 POST 数据而不是 GET 来加载带有 ajax 内容的 Featherlight 模态? $.featherlight({ ajax: '
我想在 featherlight gallery 中显示 1 个或多个内容详细信息,以便用户可以在页面之间滑动或单击,然后关闭以返回到他们之前的任务。内容可能看起来像这样: Title 1
我在页面加载时注册多个 featherlight 实例 jQuery('.feedback').featherlight(jQuery( "#feedback-box" ), { closeIcon:
简单来说featherlight图库,如何获取当前幻灯片和总幻灯片? 演示: http://noelboss.github.io/featherlight/gallery.html 我正在使用 $.f
在 featherlight plugin 中使用二进制图像数据使用 data-featherlight="image" 参数效果很好。在 featherlight gallery 中使用二进制图像数
如何配置 featherlight,使其在用户单击较小版本时不调整图像大小?如果窗口太大,我想要滚动条。这是我正在使用的 HTML: 目前,当我点击大图片时,它会显示在灯箱中,但它太小了,我无法
我有一些照片缩略图和元数据,我正在使用 Featherlight Lightbox 在单击缩略图时显示更大的预览。 我更喜欢 Featherlight 重用缩略图的 HTML 进行预览,这样我就不必渲
我一直在尝试将featherlight纳入我的项目中,到目前为止发现它非常容易使用。我有一个要求,要在羽毛灯内加载图片库/ slider 。也就是说,当用户单击链接时,它会以 iFrame 的形式打开
我有几个 featherlight.js 灯箱 ( https://github.com/noelboss/featherlight ) 同时打开的情况。我希望当一个关闭时,其余的也都关闭。我在父页面
打开 featherlight 灯箱时,有没有办法运行代码?什么时候关闭?是否有 Hook 或其他东西,以便我可以在打开灯箱后运行代码?我在 github 页面上找不到示例 ( https://git
我想使用一个简单的 js 来停用和激活 html “body” 的溢出,如下所示: $('.my_link').click(function(){ $('body').css('overflo
我是一名优秀的程序员,十分优秀!