我正在尝试让Slider Revolution滑块在BarbaJS中重新初始化。
我目前正在设置最初由ThemePunch文档说明的功能:
// RevSlider
function getCurrentSliderAPI() {
var slider = jQuery('.rev_slider');
if(!slider.length) return false;
return eval('revapi' + slider.attr('id').split('rev_slider_')[1].split('_')[0]);
}
// Start RevSlider
function startSlider() {
var revapi = getCurrentSliderAPI();
if(revapi) {
revapi.revstart();
console.log('Slider ' + revapi + ' started.');
}
}
// Kill RevSlider
function killSlider() {
var revapi = getCurrentSliderAPI();
if(revapi) {
revapi.revkill();
console.log('Slider ' + revapi + ' killed.');
revapi = null;
}
}
getCurrentSliderAPI函数似乎有问题。我设置了控制台日志,以确保该功能实际上在其他两个功能中均有效,但无济于事。
在当前设置下,出现以下控制台错误:
revapi1 is not defined
在激活了滑块的情况下从另一个页面加载到页面中。任何使Revolution Slider在页面过渡上初始化的帮助都将非常有帮助。谢谢。
最佳答案
https://stackoverflow.com/a/25191095/4220832
这似乎是我需要的问题的答案,即使它与jQuery版本有关。我必须将滑块放置在iframe中才能重新初始化,因为它会删除iframe并将其重新加载到新的iframe中。这对于使用iframe来说不是理想的选择,但它也可以减少内存泄漏问题。