Q 완전히 반응하는 레이아웃을 갖기 위해 슬라이더를 다시로드하려고합니다. 이렇게하려면 슬라이더를 다시로드해야합니다! 주요 문제는 다시로드하기 때문에 슬라이더가 변경된다는 것입니다. 따라서 크기를 조정할 때마다 첫 번째 슬라이드부터 시작됩니다.bxslider reloadSlider 슬라이더를 다시로드하고 머리를 감 쌉니다.
아무도 내 reload/resize에 슬라이드의 점프가 없어 솔루션을 나타낼 수 있을까 ???
악몽! 악몽! 악몽! http://jsfiddle.net/j3hgA/17/
// initiates responsive slide gallery
var settings = function() {
var settings1 = {
pager: 'false',
minSlides: 1,
maxSlides: 1,
startSlide: 1,
moveSlides: 1,
onSlideBefore:
function (currentSlideNumber, totalSlideQty, currentSlideHtmlObject) {
$('#carousel > li.active').removeClass('active');
$('#carousel > li').eq(currentSlideHtmlObject - 1).addClass('active');
},
onSlideAfter: function (currentSlideNumber, totalSlideQty, currentSlideHtmlObject) {
$('#carousel > li.active').removeClass('active');
$('#carousel > li').eq(currentSlideHtmlObject + 1).addClass('active');
},
onSliderLoad: function (currentSlideHtmlObject) {
$('#carousel').removeClass('settings2');
$('#carousel').css('display', 'block').addClass('settings1');
$('#carousel').fadeIn('slow');
$('#carousel > li.active').removeClass('active');
$('#carousel > li').eq(currentSlideHtmlObject + 1).addClass('active');
$('.bx-controls').hover(
function() {
$('#carousel li a figure').addClass("hover").end();
},
function() {
$('#carousel li a figure').removeClass("hover").end();
});
}
};
var settings2 = {
pager: 'true',
minSlides: 1,
maxSlides: 3,
startSlide: 0,
moveSlides: 1,
onSlideBefore: function (currentSlideNumber, totalSlideQty, currentSlideHtmlObject) {
$('#carousel > li.active').removeClass('active');
$('#carousel > li').eq(currentSlideHtmlObject - 1).addClass('active');
},
onSlideAfter: function (currentSlideNumber, totalSlideQty, currentSlideHtmlObject) {
$('#carousel > li.active').removeClass('active');
$('#carousel > li').eq(currentSlideHtmlObject + 1).addClass('active');
},
onSliderLoad: function (currentSlideHtmlObject) {
$('#carousel').removeClass('settings1');
$('#carousel').css('display', 'block').addClass('settings2');
$('#carousel').fadeIn('slow');
$('#carousel > li.active').removeClass('active');
$('#carousel > li').eq(currentSlideHtmlObject + 1).addClass('active');
$('.bx-controls').hover(
function() {
$('#carousel li a figure').addClass("hover").end();
},
function() {
$('#carousel li a figure').removeClass("hover").end();
});
}
};
return ($(window).width() < 1600) ? settings1 : settings2;
}
var mySlider;
function tourLandingScript() {
mySlider.reloadSlider(settings());
}
mySlider = $('#carousel').bxSlider(settings());
$(window).resize(tourLandingScript);
덕분에 당신이 대답을하지만 – user2505665
this.getCurrentSlide는 함수가 아닙니다 O를 내가 수와 슬라이더의 시작 크기를 조정 startnum = this.getCurrentSlide(); – user2505665
@ user2505665 예! 너 나 거기있어. 내 대답을 업데이트 할게. 바라건대 내가 너에게 한 일은 잘 되길 바란다. – DhruvJoshi