如何防止轮播容器在重置位置时过渡
How to prevent transition on carousel container when reseting its position?
我已经应用了 CSS transition
来translateX
轮播的父元素,我在单击下一步按钮时从0 to 100%
开始制作动画,但是我想做的是防止当我在 setTimeout 内将平移位置重置回0
时动画启动。理想情况下,我想将过渡设置为无,然后在我的轮播重置后快速删除它。谁能推荐我怎么做?
.CSS
.carousel {
height: 100%;
-webkit-transition: -webkit-transform .1s ease-in-out;
-webkit-transform: translate(0, 0);
}
.JS
btnNext.on('click', function (e) {
e.preventDefault();
//move carousel to right 100%
carousel.css('transform', 'translateX(-100%)');
$('.slide:first').insertAfter('.slide:last');
setTimeout(function () {
resetSlides();
resetCarousel();
}, 5000);
});
function resetCarousel() {
$('.carousel').css({
'transform': 'translateX(0%)',
'transition': 'none'
});
//now remove inline transition:none style without a transition occurring?
}
JSFiddle: http://jsfiddle.net/GKv4p/22/
你可以使用第二个css类,"animated"。在你的CSS中,你可以有:
.carousel {
height: 100%;
}
.carousel.animated {
-webkit-transition: -webkit-transform .1s ease-in-out;
-webkit-transform: translate(0, 0);
}
然后,在 JavaScript 中,您将添加或删除此额外类以添加或删除动画。
好的
,所以我想我让它按照你想要的方式工作。
我所做的主要更改是将-webkit-transition: all .1s ease-in-out;
添加到.expose-*
类中,并在$('.carousel').attr('style', '');
中添加延迟
最终得到了这个小提琴
相关文章:
- 如何在玩TimelineMax(GSAP)后重置原始位置
- 如何重置HTMLAudioElement's的当前播放位置为0
- 当滚动到指定的位置时,启动功能,如何重置它并重新启动,如果我们再次回到这个位置
- easeljs在不同的位置多次添加位图到舞台上
- 停止动画并重置拉斐尔.js中元素的位置
- 如何在到达帧末尾时将其位置重置回原点
- 同时加载 iframe 并重置文档位置
- 如何防止轮播容器在重置位置时过渡
- 使用轨迹球控制时重置摄像机位置/旋转
- 在拖动事件中重置位置
- 重置 jQuery UI 滑块控点位置
- 停止浮动标签重置回原始位置
- 在没有数组的4位数字中交换数字的位置
- 如何进行碰撞预防?(重置玩家对象的位置)
- 基于style.right重置位置
- 反弹球会重置到所需位置,但不会移动
- 每次单独的动画到达某个位置时,运行并重置一个动画
- 如何:使用滚动条重置分割内的滚动条位置
- 使用CSS重置位置
- 当按下后退键转到其他页面时,滚动条位置不会重置