html - 在不使用 jquery -> www.mohitarya.co.nf 的情况下加载页面时需要动画开始

标签 html css

这是我用于水平移动的 CSS。

.h float {

animation-name: hfloating;
-webkit-animation-name: hfloating;

animation-duration: 30s;    
-webkit-animation-duration: 30s;

animation-iteration-count: infinite;
-webkit-animation-iteration-count: infinite;

@keyframes hfloating {

0% {
    transform: translateX(-160%);   
}
50% {
    transform: translateX(170%);
    webkit-transform: translateX(170%);     
}   
100% {
    transform: translateX(-160%);
}           

@-webkit-keyframes hfloating {

0% {
    -webkit-transform: translateX(-160%);   
}
50% {
    -webkit-transform: translateX(170%);    
    -webkit-transform: translateX(170%);    
}   
100% {
    -webkit-transform: translateX(-160%);   
}           

}}

问..gif 文件能否在页面加载后开始动画?

最佳答案

不幸的是,它不能用 css 来完成,因为 css 不是一种编程语言,它只是一种样式标记。

您必须使用 JavaScript 才能获得所需的结果。你基本上想要做的是在页面加载后将类名附加到你的元素。
为此,您需要执行以下步骤:

  • 您没有为您的元素设置类,而是设置了一个 ID,以便您以后可以找到它
  • 将您的元素设置为动画的第一帧,这样它就不会卡在屏幕上
  • 等到页面完全加载
  • 将类附加到您的元素,它将使其运行动画

这是一个示例(src 链接用于 jsfiddle):

html:

<div id="test_floater"></div>
<iframe src="/three"></iframe>
<iframe src="/three"></iframe>
<iframe src="/three"></iframe>
<iframe src="/three"></iframe>

添加到您的 CSS:

#test_floater {
    -webkit-transform: translateX(-160%);
}

JavaScript

window.onload = function () {
    var floater_temp= document.getElementById("test_floater");
    floater_temp.className = floater_temp.className + " hfloating";
}

-- window.onload 在异步内容(如 iframe 内容)加载后执行,不同于 document.onload 在 DOM 加载后运行。

实例: Fiddle

关于html - 在不使用 jquery -> www.mohitarya.co.nf 的情况下加载页面时需要动画开始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24344025/

相关文章:

css - 伪元素如何检测非伪元素的高度呢?

css - Shiny 1.0.5 使 slider 输入与标签内联

带有 "farbtastic"颜色选择器的 jquery ui 对话框

html - (X)HTML 中的未定义行为?

html - 如何停止网页上的音频自动播放?

html - 显示 10 秒后反复淡入淡出两个图像

php - 堆栈在回显多次循环的结构中

html - IE中的线旋转

javascript - 为 Javascript 中数组的每个对象生成 html 中的图像标签

html - 标题 : css issue 中的嵌入式 div