我正在尝试让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来说不是理想的选择,但它也可以减少内存泄漏问题。

09-11 19:53