Nivo Slider - скрыть миниатюры, если есть только одно изображение, и предотвратить переходы слайд-шоу

Я использую Nivo Slider впервые, и это просто потрясающе, однако у меня есть пара проблем.

Я интегрировал его в CMS, и это позволяет пользователю добавлять до 5 изображений.

Однако, если есть только одно изображение, я хотел бы просто скрыть миниатюры и остановить любые переходы, как при скольжении одного и того же изображения снова и снова.

Теперь я бы сделал это с JQuery или мне нужно отредактировать файл jquery.nivo.slider.js? Или это потенциально то, что я потенциально мог бы совершить в обоих случаях?

Я думаю, я хочу сделать что-то вроде:

if images < 1 {
 transition = false;
 thumbnails = hide;
}

Надеюсь, это имеет смысл.

Спасибо за ваше время и помощь.

ОБНОВЛЕНИЕ

Итак, мне удалось скрыть миниатюры, если есть только одно изображение, добавив следующее в файл jquery.nivo.slider.js:

if (vars.totalSlides < 2)
{
 $('.nivo-controlNav').remove();
}

Теперь я хочу иметь возможность изменить один из параметров в следующем фрагменте кода на основе того же правила, но не знаю, как это сделать:

$.fn.nivoSlider.defaults = {
    pauseOnHover: 'false',
    ......
}

person Johnny    schedule 26.11.2012    source источник


Ответы (2)


Я бы изменил массив конфигурации и инициализировал ползунок следующим образом:

// nivo config array
var nivoConfig = {
    slices: 30, // For slice animations
    boxCols: 16, // For box animations
    // put all your init config here but exclude 'effects'
}

if(imagesCount < 2) {
    nivoConfig['effects'] = 'none';
} else {
  nivoConfig['effects'] = 'random';
}

$('#slider').nivoSlider(nivoConfig); 

Попробуйте, должно получиться так.

person Cedric    schedule 26.11.2012

У меня была точно такая же проблема; Код Джонни работал отлично, но я хотел уточнить для людей, у которых могут возникнуть проблемы с этим. Вы хотите вставить:

 if (vars.totalSlides < 2) {
    $('.nivo-controlNav').remove();
}

на или около строки 158 в файле jquery.nivo.slider.js (внутри условия if(settings.controlNav) {}). В противном случае это не сработает.

person Steve Dimock    schedule 05.06.2013