Задать вопрос

Почему функция не берет новое значение переменной?

Есть слайдер, при нажатии кнопки он должен открываться с разных слайдов.

var x;

$(".btn-slider").click(function(x){
x = 0;
$('.sliderPop').flexslider({

selector: '.ct-sliderPop-container > .ct-sliderPop',
slideshow: false,
controlNav: false,
startAt: x,
controlsContainer: '.ct-sliderPop-container'
});

$('.ct-sliderPop-close').on('click', function() {
$('.sliderPop').hide();
$('.ct-sliderPop-container').removeClass('open');
$('.sliderPop').removeClass('flexslider');
$('.sliderPop .ct-sliderPop-container').removeClass('slides');
});
});

$(".btn-slider1").click(function(x){
x = 11;

$('.sliderPop').flexslider({

selector: '.ct-sliderPop-container > .ct-sliderPop',
slideshow: false,
controlNav: false,
startAt: x,
controlsContainer: '.ct-sliderPop-container'
});

$('.ct-sliderPop-close').on('click', function() {
$('.sliderPop').hide();
$('.ct-sliderPop-container').removeClass('open');
$('.sliderPop').removeClass('flexslider');
$('.sliderPop .ct-sliderPop-container').removeClass('slides');
});

});



});



$(".btn").click(function(){
$('.sliderPop').show();
$('.ct-sliderPop-container').addClass('open');
$('.sliderPop' ).addClass('flexslider');
$('.ct-sliderPop-container').addClass('slides');

});

Вот код, при нажатии на кнопку должен меняться x, и функция в конце должна брать этот х для StartAT.
Когда я первый раз нажимаю слайдер запускается с правильного слайда, но дальше все кнопки запускают слайдер с одного и того же слайда.
  • Вопрос задан
  • 84 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
var x;

$(".btn-slider").click(function(x){
x = 0;

здесь у вас конфликт переменных, с одной стороны объявлен х как глобальная переменная, потом вы ее передаете в функцию, и потом есче и обнуляете
Ответ написан
Комментировать
@ha100790tag
как я уже писал в ответе на другой вопрос - попробуйте удалить x из аргументов колбэка кнопки.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы