- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我使用 animateTransform 创建了一个自定义 PreLoader 屏幕 和 keyframes 在我的 svg 图像上。
当我处理图像时,它们在所有浏览器上都运行良好。但是一旦我在我的 PreLoader 中使用它们,它们就会突然开始工作。
您可以在下面的代码片段中查看它们的行为,它在 Chrome 中可以完美运行,但在 Firefox 和 IE 上它们甚至可见全部。
//PreloadMe
$(window).on('load', function() { // makes sure the whole site is loaded
$('.la-anim-9').addClass('la-animate'); //to run the preloader lines animation
setTimeout(function() {
$('.preloader-logo img')
.fadeOut(400, function() {
$('.preloader-logo img').attr('src', 'http://gdurl.com/wzWh');
//to create the red logo effect
}).fadeIn(400);
}, 4500);
setTimeout(function() {
$('#preloader').fadeOut('slow'); // will fade out the white DIV that covers the website.
}, 6000);
setTimeout(function() {
$('body').css({
'overflow': 'visible'
});
//to revert back the normal scrolling
}, 6100);
});
/* Preloader */
#preloader {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: #ffffff;
/* change if the mask should have another color then white */
z-index: 99;
/* makes sure it stays on top */
}
.la-anim-9 {
position: fixed;
z-index: -1;
width: calc(100% - 100px);
height: calc(100% - 100px);
border: 0px solid rgba(0, 0, 0, 0.1);
pointer-events: none;
top: 50%;
-webkit-transform: translateY(-50%);
-moz-transform: translateY(-50%);
-ms-transform: translateY(-50%);
-o-transform: translateY(-50%);
transform: translateY(-50%);
left: 0;
margin: 0 auto;
right: 0;
}
.preloader-logo {
opacity: 0;
position: absolute;
left: 0;
right: 0;
width: 366px;
height: 133px;
top: 50%;
margin: 0 auto;
display: block;
transform: translateY(-50%);
z-index: 10;
-webkit-transition: opacity 0.4s ease-in-out;
-moz-transition: opacity 0.4s ease-in-out;
-o-transition: opacity 0.4s ease-in-out;
-ms-transition: opacity 0.4s ease-in-out;
transition: opacity 0.4s ease-in-out;
}
.preloader-logo img {
max-width: 300px;
}
.la-anim-9.la-animate .preloader-logo {
opacity: 1;
}
.la-anim-9 .preloadline {
position: fixed;
background: #373737;
}
.la-anim-9 .preloadline-top,
.la-anim-9 .preloadline-bottom {
width: 0;
height: 2px;
}
.la-anim-9 .preloadline-left,
.la-anim-9 .preloadline-right {
width: 2px;
height: 0;
}
.la-anim-9 .preloadline-top {
top: 0;
left: 0;
}
.la-anim-9 .preloadline-right {
top: 0;
right: 0;
}
.la-anim-9 .preloadline-bottom {
right: 0;
bottom: 0;
}
.la-anim-9 .preloadline-left {
bottom: 0;
left: 0;
}
.la-anim-9.la-animate .preloadline-right {
height: 100%;
-webkit-transition: height 1.35s linear 0.3s;
transition: height 1.35s linear 0.3s;
}
.la-anim-9.la-animate .preloadline-bottom {
width: 100%;
-webkit-transition: width 1.35s linear 1.65s;
transition: width 1.35s linear 1.65s;
}
.la-anim-9.la-animate .preloadline-left {
height: 100%;
-webkit-transition: height 1.35s linear 3s;
transition: height 1.35s linear 3s;
}
.la-anim-9.la-animate .preloadline-top {
width: 100%;
-webkit-transition: width 1.35s linear 4.35s;
transition: width 1.35s linear 4.35s;
}
.la-anim-9.la-animate {
z-index: 100;
opacity: 0;
-webkit-transition: border 0.3s, opacity 0.3s 5.7s;
transition: border 0.3s, opacity 0.3s 5.7s;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<!-- Preloader -->
<div id="preloader">
<div class="la-anim-9">
<div class="preloadline preloadline-top"></div>
<div class="preloadline preloadline-right"></div>
<div class="preloader-logo">
<img src="http://gdurl.com/5HVo" alt="Alt Text" />
</div>
<div class="preloadline preloadline-bottom"></div>
<div class="preloadline preloadline-left"></div>
</div>
</div>
我已经尝试了几乎所有方法并为此挖掘了 SO 以及 Google 但还没有找到适用于 Firefox< 的合适解决方案/strong> 和 IE。
最佳答案
你面临的两个问题不一样。
对于 Firefox,这似乎是 this bug 的死灰复燃。已标记为“已解决”。当我在没有 CSS 声明的情况下尝试你的文件时,我可以在 <img>
中看到它标签。
不过,我并没有深入研究您的标记,看看是否有其他原因导致了它。
此处的解决方法是使用 <img>
以外的其他元素: <object>
, <iframe>
或 <embed>
应该做的。
对于IE,只是这个浏览器不支持SMIL动画而已。然后,您必须使用 javascript 后备库(例如 FakeSmile ),并将其包含在您的 SVG 文档中。
但在这里,你将不得不离开 <img>
标签,因为我们不能从这个元素执行脚本。以上 3 项中的任何一项都可以。
所以这会让您将 HTML 标记更改为
<div class="preloader-logo">
<object data="http://gdurl.com/5HVo"></object>
</div>
加一个
<script xlink:href="pathTo/FakeSmile.js"></script>
在您的 svg 文档中,您将获得对 IE 和 FF 的支持。
关于jquery - SVG animateTransform 不适用于 FF 和 IE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40502750/
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 7年前关闭。 Improve thi
有两个 SVG 元素( SVG1 和 SVG2 ),其中 SVG1 是一个包含各种元素的大区域,会不时添加、删除和重新定位。另一方面,SVG2 需要用作 图标化表示(小) SVG1 的版本,非常小,但
我知道我们可以使用 document.createElementNS("http://www.w3.org/2000/svg","line"); 创建一个嵌入到html页面。 但是,这种方法似乎不适用
我正在尝试使用 Flutter SVG 依赖项,我将 svg 放入 Assets 中,在 pubspec.yaml 中设置,并在我的小部件中设置,但是,使用黑色容器加载 svg 我已经尝试过更改 sv
为什么这样的演示:http://jsbin.com/ejorus/2/edit,将元素嵌套在另一个元素内? JS
很难说出这里问的是什么。这个问题是含糊的、模糊的、不完整的、过于宽泛的或修辞性的,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开它,visit the help center 。 已关
我正在尝试在 SVG 中做一些非常简单的事情: 将整个视口(viewport)分成两个矩形 每个矩形的宽度应为视口(viewport)宽度的 50% 每个矩形的高度应为视口(viewport)高度的
我试图将 play svg 居中放置在 SVG 圆圈的中间,但似乎不知道该怎么做。 垂直和水平。 https://jsfiddle.net/c0qshm0t/17/ 最
是否可以使用一个 SVG 形状作为另一个形状的填充? 最佳答案 您想使用 SVG Pattern .见 this example : 注意
我在 SVG 中有一个非常简单的路径。 (预览:https://i.imgur.com/nVnxcRg.png) 我想要
我可以通过以下方式创建多边形: #!/usr/bin/env python from shapely.geometry import Polygon area = Polygon(((52, 13),
我使用 require 的 SVG 没有显示。 在我的终端中,svg Assets 被发出并且路径在我的 html 中正确设置。 但是,SVG 不会显示,而其他格式(如 jpg 或 png)可以显示
我在 SVG 混合模式中遇到了问题。我在 SVG 中有四个路径,我想用公式组合它们:(1*2) + (3*4),即路径 1 和路径 2 应该使用乘法模式混合,类似地路径 3 和路径 4 应该使用混合相
我无法超过 2 个级别。 (在 Iceweasel 和 Chromium 上尝试过。) 作为测试,我尝试了 this earlier reply 中提供的代码的变体。 .这个由 3 个单独的文件组成,
请引用以下组中的clip-path 组 ID -> “container_svg_symbolGroup1_0(即圆圈符号)在我删除图表中可见的剪辑路径时不可见。 问题是什么?为什么
使用联合 js 在 svg 中创建了一个文本区域。但是,我无法在文本区域中输入任何文本。如何使文本区域可编辑? 代码: var graph = new joint.dia.Graph;
您可以不受限制地停止和重复动画,但如果您重新启动一个不确定的动画,它将失去其累积值并从初始值开始。 也许我应该用一个例子来澄清;拿这个动画: 如果我停止此动画,并开始影响同一对象旋转的不同动画(
如果我在浏览器中显示常规 SVG(作为独立文件或嵌入在 HTML 中),在拥有大量单独的路径元素和一个巨大的路径元素之间在效率上是否有任何理论上的差异? 我正在考虑将某种动画从一张图片变成一张完全不同
logo的turtlegraphics的svg路径中是否有等价物? 而不是硬编码的 x 和 y 坐标,这也迫使我在移动更相对的“增量”方法时调整控制点。 我的解决方案应该适用于 FOCS(Firefo
目前正在使用 SVG 元素与一堆 元素将使它具有一种逐渐变细的边缘。我尝试了很多不同的 CSS 样式来解决这个问题,但没有任何效果。这是一个带有针迹的圆圈的代码:
我是一名优秀的程序员,十分优秀!