- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试制作 3d 横幅旋转。
首先我构建了它的 4 个面,然后发现我可能只需要 2 个面:
/正面可见,上面有 Banner1
/它向下旋转并使 Banner2 可见
/一旦完成(在 transitionend 上),它必须同时做两件事:1. 在 0 毫秒内旋转回之前的状态,并将图像 1 更改为 2,将图像 2 更改为 3 -> 有效
/在到达最后一个横幅 (var anzahlbanner) 时,它基本上应该从数字 1 开始(这看起来很棘手,因为当最后一个横幅滑入到位并向后翻转时,它需要显示最后一个(前面是 6)和banner1 在隐藏的一面。
但我什至没有说到这里,因为这个函数似乎触发了两次,即在平滑过渡时触发,然后在向后翻转过渡时触发。
$("#eins").on("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd", function(){ ... });
当您在 javascript 中激活第 31 行时,您会看到这一点。
我怎样才能让我的计数器按照我需要的方式上升?
编辑:实际上似乎该函数没有被调用两次,而是每回合调用一次:1、2、3、4、5、6、7 次等。
最佳答案
我认为我可以稍微简化您的 javascript。
唯一的问题是我将您的图像更改为 div,并将图像设置在背景中。
现在,您的 HTML 是:
<div id="container">
<div id="eins">
<div></div>
</div>
<div id="zwei">
<div></div>
</div>
</div>
你的 CSS 是
#container {
width: 1269px;
height: 294px;
}
#eins, #zwei {
position:absolute;
top:0px;
left:0px;
}
#eins {
width: 1269px;
height:294px;
z-index:150;
-ms-transform-origin: 50% 50% 147px;
-moz-transform-origin: 50% 50% 147px;
-webkit-transform-origin: 50% 50% 147px;
-webkit-animation: rotate 4s infinite;
-webkit-animation-delay: -2s;
}
#zwei {
background:red;
width: 1269px;
height:294px;
z-index:70;
-ms-transform-origin: 50% 50% 147px;
-ms-transform: rotate3d(1, 0, 0, -90deg);
-ms-transition: 1s;
-ms-transition-timing-function: ease;
-moz-transform-origin: 50% 50% 147px;
-moz-transform: rotate3d(1, 0, 0, -90deg);
-webkit-transform-origin: 50% 50% 147px;
-webkit-animation: rotate 4s infinite;
}
#eins div, #zwei div {
height:294px;
}
#eins div {
-webkit-animation: imageseins 8s infinite;
-webkit-animation-delay: -2s;
}
#zwei div {
-webkit-animation: imageszwei 8s infinite;
}
@-webkit-keyframes rotate {
0% {-webkit-transform: rotate3d(1, 0, 0, -90deg);}
50% {-webkit-transform: rotate3d(1, 0, 0, 0deg);}
100% {-webkit-transform: rotate3d(1, 0, 0, 90deg);}
}
@-webkit-keyframes imageseins {
0%, 49.99% {background-image: url("http://jenseickhoff.de/testarea/2014/img/banner1.jpg")}
50%, 100% {background-image: url("http://jenseickhoff.de/testarea/2014/img/banner3.jpg")}
}
@-webkit-keyframes imageszwei {
0%, 49.99% {background-image: url("http://jenseickhoff.de/testarea/2014/img/banner2.jpg")}
50%, 100% {background-image: url("http://jenseickhoff.de/testarea/2014/img/banner4.jpg")}
}
而且,正如所 promise 的那样,您的 javascript 更容易(无)
诀窍是在图像上设置动画,即在 div 不可见时更改图像。
关于javascript - 带有 "on transitionend"的横幅 rotate3d 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21623519/
我正在尝试使用 jQuery 和 css 转换对一些动画进行排序。看起来容器宽度应该在小部件完成从“顶部”css 更改的转换之前进行动画处理,但它们是一起触发的。 为什么 widget
我想在项目上的波纹动画执行后执行一个函数。我目前正在使用以下代码: Proceed 这是一张带有图像和文本的卡片。当
我向 div 添加了一个 transitionend 事件监听器。此 div 具有在某些元素上具有过渡效果的子元素。我希望 transitionend 事件只针对我添加它的元素触发,这是一个错误吗?或
我有多个元素,每个元素都以(某种程度上)持续时间进行动画处理。我使用 CSS3 转换动画,使用 jQuery 库和来自 David Walsh 的 transitionend 辅助函数. 我的问题是
我有一些 javascript 会触发一些样式更改,从而导致 CSS 转换。 我应该如何挂接一个将在转换完成后执行的回调。显然,在旧版浏览器中,它会立即转换,但这些浏览器也无法识别 transitio
我有以下代码,我的问题是 transitionend 事件被触发了两次。我不知道是什么原因造成的。我怀疑 vendor 前缀导致了它,但事实并非如此。即使我只留下 transitionend 和 tr
我想了解为什么以下代码会以指数方式复制 transitionend 的返回值。 这对我来说没有任何意义,因为它们应该具有相同的行为并且应该只执行一次。 下面评论了预期的行为。 (function()
我需要一个特殊的类似 transitionend 的事件,该事件在所有转换完成后触发一次,或者如果 CSS 中没有定义转换则立即触发。 这是我到目前为止所想到的: (function($){ $.
在下面的示例中,我正在使用 CSS 进行 background-color 转换,并尝试处理两个 div 的 transitionend 事件。 不幸的是,transitionend 不会为 div2
我有一个 HTML 元素,我附加了一个 webkitTransitionEnd 事件。 function transEnd(event) { alert( "Finished transiti
我似乎无法让这个过渡的开始部分起作用,只有结束部分。 我之所以按照我的方式构建我的 html,是因为我需要使用 display: none 和 display:block 来实际删除元素文档流。使用
我为 CSS 关键帧动画创建了一个非常基本的测试,包括“ontransitionend”的事件监听器 - 但无论我使用什么变体,这个“过渡结束”监听器都不会触发。 (我的完整代码包含所有 vendor
我正在尝试编写一些具有 webkitTransitionEnd eventListener 回调函数的东西,但由于某种原因 eventListener 被触发了两次(doSomething 被执行了两
我有一个小应用程序,它使用 CSS3 添加和删除 .is-active 动画部分,我需要从中删除 .is-active元素 .resulting-page 然后在 transitionend 上将 .
closeContent() function 有一些问题,我不知道如何在每次单击 .show-content< 时阻止它运行. transitionend 基本上不应该踢两次。 任何帮助将不胜感激。
我想创建一个自定义事件来处理 transitionend 事件的所有不同 vendor 前缀版本(即 webkitTransitionEnd、mozTransitionEnd 、msTransitio
我有两个 div 元素,即 .parentDiv 和 .childDiv 我正在使用 css transition 来为两者设置动画。 .childDiv 应首先为其不透明度设置动画,然后在 tran
检查一下: http://jsfiddle.net/jqs4yy0p/ JS $('div').addClass('switch').on('transitionend', function(e){
我试图让 mouseover 事件监听器仅在 css 转换结束时触发。我尝试在 css 转换结束时提醒一条随机消息,它确实按预期工作(仅在结束时显示消息)。但出于某种原因,mouseover 事件甚至
我有一个切换器,我正在使用 jQuery 调用其 checked 状态。每次我单击从未选中切换到选中时,控制台都会记录 “do this!” 两次。为什么此函数会触发两次?让它触发一次的解决方法是什么
我是一名优秀的程序员,十分优秀!