2014-11-10 1 views
0

Как сделать мою галерею highslide снимать только определенные изображения (например, содержащиеся в конкретном div)?Highslide: как использовать только определенные изображения

У меня есть галерея здесь: http://civicsector.org.ua/agitation/247-kampanya-chesn-vibori.html, но проблема в том, что используемая мной CMS выводит содержимое дважды: один раз для экрана рабочего стола и один раз для мобильного экрана.

В то время как highslide загружает изображения из обоих div (для рабочего стола и для мобильных устройств), изображения в палитре дублируются.

Как исправить это?

Спасибо.

ответ

1

Разместите ваши изображения в slideShowGroup, согласно API Highslide JS:

http://highslide.com/ref/hs.slideshowGroup

Затем скрипт будет загружать только изображения, которые помечены как принадлежащие к этой группе. Ссылки на изображения, созданные вашей CMS, не будут помечены как принадлежащие к группе, поэтому они не будут загружаться в слайд-шоу дважды.

+0

Спасибо за ваш ответ! Я использую ненавязчивый highslide на моем сайте, но в любом случае это помогло мне выяснить, что мне пришлось добавить дополнительную проверку в обработчик hs.OnSetClickEvent. – Maksym

1

Ответ MisterNeutron был идеален для обычного использования highslide. Однако, в случае, если кто-то будет использовать ненавязчивый Highslide (как я), вы просто добавить проверку в hs.onSetClickEventHandler:

hs.onSetClickEvent = function (sender, e) { 
     if ($(e.element).closest('.hidden-desktop').length>0) { 
      return false; 
     } 

     // set the onclick for the element 
     e.element.onclick = function() { 
      return hs.expand(this, inPageOptions); 
     } 
     // return false to prevent the onclick being set once again 
     return false; 
    }