首页 > 解决方案 > bxSlider reloadSlider() 在页面加载后未定义

问题描述

我正在开发一个及时上传+刷新库(基于 AJAX 和 jQuery)的应用程序。

我可以通过拖放和上传后上传多张图片。我必须看看带有上传元素的新画廊看起来如何,它位于基于 bxslider 的轮播中(无需重新加载页面)。我已经用上传刷新部分成功地做到了这一点。但是,当刷新幻灯片时,配置中的 bxslider 属性将丢失。

当我想使用该reloadSlider()功能时,我在 Chrome 控制台中看到以下错误:

无法读取未定义的属性“reloadSlider”

$(document).ready(function() {
  $('.gallery_output').bxSlider({
    slideWidth: 222,
    minSlides: 1,
    maxSlides: 5,
    pager: false,
    slideMargin: 0
  });
});

function refresh_slider() {
  var sliderToRefresh = $('.gallery_output').bxSlider({
    auto: true,
    controls: true
  });
  sliderToRefresh.reloadSlider();
}

更新:我添加了一个按钮来触发事件,但得到了同样的错误。

$('#refresh').click(function(){
    var sliderToRefresh; 
    sliderToRefresh = $('.gallery_output').bxSlider({
        auto: true,
        controls: true
    });
    sliderToRefresh.reloadSlider();
});

总的来说,我只想用触发功能重新加载 bxSlider,而不需要重新加载页面。任何想法为什么reloadSlider()不起作用?

标签: javascriptphpjqueryajaxbxslider

解决方案


您正在定义 bxSlider.gallery_output然后尝试访问它#gallery_output:)


推荐阅读