Javascript 在小滑块中重新启动CSS动画
我正在尝试重新启动幻灯片中的CSS动画 我有这个基础,但问题是当我试图重新启动动画在一个,这是我的。我想这会是一场js冲突,但我不明白发生了什么 有什么想法吗?非常感谢您的时间 JS代码Javascript 在小滑块中重新启动CSS动画,javascript,html,css,animation,slider,Javascript,Html,Css,Animation,Slider,我正在尝试重新启动幻灯片中的CSS动画 我有这个基础,但问题是当我试图重新启动动画在一个,这是我的。我想这会是一场js冲突,但我不明白发生了什么 有什么想法吗?非常感谢您的时间 JS代码 "use strict"; const slider = tns({ container: '.js-carousel', items: 1, slideBy: 'page', swipeAngle: false, autoHeight: true,
"use strict";
const slider = tns({
container: '.js-carousel',
items: 1,
slideBy: 'page',
swipeAngle: false,
autoHeight: true,
autoplay: false,
mouseDrag: true,
controlsText: [
'<i class="fas fa-chevron-left"></i>',
'<i class="fas fa-chevron-right"></i>'
]
})
slider.getInfo();
var element = document.querySelector(".grid");
var blockA = document.querySelector(".a");
var blockB = document.querySelector(".b");
var blockC = document.querySelector(".c");
var customizedFunction = function (info, eventName) {
blockA.classList.remove("run-animationA");
blockB.classList.remove("run-animationB");
blockC.classList.remove("run-animationC");
console . log(blockA);
// -> triggering reflow /* The actual magic */
// without this it wouldn't work. Try uncommenting the line and the transition won't be retriggered.
// This was, from the original tutorial, will no work in strict mode. Thanks Felis Phasma! The next uncommented line is the fix.
// element.offsetWidth = element.offsetWidth;
void blockA.offsetWidth;
void blockB.offsetWidth;
void blockC.offsetWidth;
// -> and re-adding the class
blockA.classList.add("run-animationA");
blockB.classList.add("run-animationB");
blockC.classList.add("run-animationC");
console.log(blockA);
}
// bind function to event
slider.events.on('transitionStart', customizedFunction);
“严格使用”;
常数滑块=tns({
容器:'.js carousel',
项目:1,
幻灯片:“第页”,
swipeAngle:错,
自动高度:正确,
自动播放:错误,
是的,
控件文本:[
'',
''
]
})
slider.getInfo();
var元素=document.querySelector(“.grid”);
var blockA=document.querySelector(“.a”);
var blockB=document.querySelector(“.b”);
var blockC=document.querySelector(“.c”);
var customizedFunction=函数(信息,事件名称){
blockA.classList.remove(“运行动画”);
blockB.classList.remove(“运行动画b”);
blockC.classList.remove(“运行动画”);
控制台日志(blockA);
//->触发回流焊/*实际魔法*/
//如果没有这一点,它将无法工作。尝试取消对行的注释,转换将不会被重新触发。
//这是,从最初的教程,将不会在严格模式下工作。感谢Felis Phasma!下一个未注释行是修复。
//element.offsetWidth=element.offsetWidth;
void block a.偏移网络宽度;
无效块B。偏移网络宽度;
无效块C。偏移网络宽度;
//->并重新添加该类
blockA.classList.add(“运行动画”);
blockB.classList.add(“运行动画b”);
blockC.classList.add(“运行动画”);
控制台日志(blockA);
}
//将函数绑定到事件
slider.events.on('transitionStart',customizedFunction);