When reloading Slider, neither forward nor back has effect
Lucas Santos
I am using bxSlider and in the following situation
When a specific year is selected, I need to reload the month and just have the month in the clicked year value.
My problem is that when reloading, I let go of the arrow controls, i.e., I can't move forward or backward.
self.UpdateMensalTab = function (year, tab) {
var url2 = _URL_UPDATE_TAB_MENSAL_;
$(".slider2").html("");
$.ajax({
url: url2,
type: 'POST',
async: true,
dataType: 'html',
data: { "Year": year },
success: function(result) {
$(".slider2").html(result);
}
});
$('.slider2').bxSlider({
pager: false,
infiniteLoop: false,
slideWidth: 100,
minSlides: 6,
maxSlides: 6,
slideMargin: 1,
autoControls: true,
adaptiveHeight: true,
startSlide: 1
});
}
image
Even though there is data showing that both buttons can be moved forward or backward, they no longer work. who can help me?
Sellin
bxSlider has a function called reloadSlider
. you can use something like
var slider = $('.bxslider').bxSlider({
mode: 'horizontal'
});
$('#reload-slider').click(function(e){
e.preventDefault();
slider.reloadSlider({
mode: 'fade',
auto: true,
pause: 1000,
speed: 500
});
});
For more details see this
Also, after adding new content, you should refresh the slider.
self.UpdateMensalTab = function (year, tab) {
var url2 = _URL_UPDATE_TAB_MENSAL_;
$(".slider2").html("");
window.slider = $('.slider2').bxSlider({
pager: false,
infiniteLoop: false,
slideWidth: 100,
minSlides: 6,
maxSlides: 6,
slideMargin: 1,
autoControls: true,
adaptiveHeight: true,
startSlide: 1
});
$.ajax({
url: url2,
type: 'POST',
async: true,
dataType: 'html',
data: { "Year": year },
success: function(result) {
$(".slider2").html(result);
window.slider.reloadSlider({
pager: false,
infiniteLoop: false,
slideWidth: 100,
minSlides: 6,
maxSlides: 6,
slideMargin: 1,
autoControls: true,
adaptiveHeight: true,
startSlide: 1
});
}
});
}