加载滑块后运行Script
Run Script after slick slider loads
我想在滑动条加载后和其中一个滑动条有class .class-slide之后在body标签上添加class .
HTML <div class="slider">
<div class="slide">
1
</div>
<div class="slide">
2
</div>
<div class="slide class-slide">
3
</div>
</div>
所以在光滑加载之后,如果带有。class-slide类的幻灯片是活动的,那么我需要在标签上添加一个演示类。
I tried this
jQuery(function () {
if(jQuery(".class-slide").hasClass("slick-active")){
jQuery(body).addClass('body-class');
}
,但由于DOM已经加载,这不会工作。如何解决这个问题?
链接到Codepen
光滑滑块具有事件init
,可以像这样使用
$('.your-element').on('init', function(event, slick){
// event subscriber goes here
});
请检查下面的代码。在每张幻灯片上,afterChange事件都会触发。我们可以检查div with class class-slide是否活动。如果div class-slide是活动的,那么body-class将被添加到body中,否则它将被移除。
jQuery('.slider').on('afterChange', function(event, slick, currentSlide){
if(jQuery(".class-slide").hasClass("slick-active")){
jQuery(body).addClass('body-class');
}else{
jQuery(body).removeClass('body-class');
}
});
如果你不想等到你的第一张幻灯片已经改变,例如,如果你的自动播放速度设置为几秒,你可以使用setPosition事件。
jQuery('.slider').on('setPosition', function(event, slick, currentSlide){
if(jQuery(".class-slide").hasClass("slick-active")){
jQuery(body).addClass('body-class');
}else{
jQuery(body).removeClass('body-class');
}
});
我对此进行了测试,回调在滑块安排每张幻灯片后立即运行。
相关文章:
- 如何使用phaser使html5游戏在移动设备浏览器上运行
- 使用压缩的JavaScript文件(不是运行时压缩)
- Javascript运行php文件,然后下载文件
- chrome扩展:尽管运行了at:documentidle,js脚本还是过早启动
- strongloop script.js run find in before delete方法:如何同步运行异步方法
- HTML 无法识别我要求它运行的 javascript 文件,语法错误:意外的令牌“<”(匿名函数)script.js:
- 如何仅在通过node.js运行script.js时激发代码
- 在 Mac OSX 10.11 上的 MAMP 3.5 上运行 python-script
- 从客户端请求中使用Node运行Bash Script
- 运行& lt; script>部分出了问题
- 仅当表单完成时才运行.google.script
- 在Google Script If语句中运行RegEx
- Google Apps Script Success Handler在函数完全执行之前运行
- 运行& lt; script>AJAX加载元素
- 重载时,MeteorJS不运行外部script.js
- 添加& lt; script>并在javascript中运行
- 加载滑块后运行Script
- Java Script无法在Internet Explorer中运行
- 如何带参数运行npm {bin: script.js}
- script标记仅在插入DOM后第一次运行