2012-05-16 5 views
1

Я использую простую галерею изображений pro от joomlaworks. Я внес некоторые изменения в css этого. Я позиционировал большие пальцы в нижней части страницы и прокручивал по горизонтали. Теперь мне нужно изменить полосу прокрутки с помощью jScrollPane. Полоса прокрутки отображается и работает нормально, но когда она активна, большие пальцы не отображаются в главном изображении (более крупном) при нажатии.jscrollpane breaks галерея изображений (простая галерея изображений pro)

Я думаю, это связано с тем, что jScrollPane добавляет некоторые divs в большие пальцы ul, но мои ограниченные навыки javascript/jquery затрудняют фактическое представление о том, где возникает проблема и ее решение.

Адрес: http://goo.gl/9Dgq3

+0

позаботьтесь о том, чтобы их была библиотека, которая меняет $ на $ K2, что может привести к тому, что некоторые сценарии jquery не будут запущены. –

ответ

1

Да, вы правы, это происходит потому, что JScrollPane добавить дополнительный DIV.

Чтобы это исправить, необходимо внести изменения в /lvj/plugins/content/jw_sigpro/jw_sigpro/tmpl/Galleria/js/behaviour.js файле:

Найти линия:

var outerContainer = el.parent().parent().parent().parent().parent(); 

И изменить его на:

var outerContainer = el.parent().parent().parent().parent().parent().parent().parent(); 
+0

Удивительно, что я не смог найти это. Я собираюсь сосредоточиться на том, чтобы узнать больше js в своем предстоящем празднике. Большое спасибо за ваш ответ! Bounty придет, когда 24 часа мне нужно подождать :) – Jarco

+0

Добро пожаловать;) – antyrat

+0

также у вас есть проблема, что некоторые javascript-библиотеки меняют $ на $ K2 –

1

обновления поведении расслоение плотной файл быть

$K2('.sigProGalleriaLink').click(function(event){ 
console.log("here"); 
     event.preventDefault(); 

     // Prevent clicks upon animation 
     if($K2(':animated').length) return false; 

     // Assign element 
     var el = $K2(this); 

     // Parent container 
     var outerContainer = el.parent().parent().parent().parent().parent(); 
     var placeholderContainer = $K2(".sigProGalleriaPlaceholderContainer div:first"); 
console.log(outerContainer); 
console.log(placeholderContainer); 
     // Placeholder elements 
     var targetLink = placeholderContainer.find("a:first"); 
     console.log(targetLink); 
     var targetTitle = placeholderContainer.find("p:first"); 
     console.log(targetTitle); 
     var targetImg = targetLink.find("img:first"); 
     console.log(targetImg); 

     // Source elements 
     var sourceLinkHref = el.attr("href"); 
     console.log(sourceLinkHref); 
     var sourceLinkTitle = el.attr("title"); 
     console.log(sourceLinkTitle); 
     var sourceImage = el.find("img:first"); 
     console.log(sourceImage); 

     if(targetLink.attr("href")!==sourceLinkHref){ 
console.log("should do the animation"); 
      if(el.find("span:nth-child(2)")){ 
      var sourceTitle = el.find(".sigProCaption").html(); 
      } else { 
      var sourceTitle = false; 
      } 

      placeholderContainer.animate({'opacity':0},300,function(){ 
       targetImg.attr("src",sourceLinkHref); 
       var counter = 0; 
       targetImg.load(function(){ 
        if (counter++ == 0) { 
        targetImg.attr("title",sourceImage.attr("title")); 
        targetImg.attr("alt",sourceImage.attr("alt")); 
        targetLink.attr("href",sourceLinkHref); 
        targetLink.attr("title",sourceLinkTitle); 
        if(targetTitle.hasClass('sigProGalleriaTargetTitle') && sourceTitle) targetTitle.html(sourceTitle); 
        placeholderContainer.animate({'opacity':1},600); 
        } 
       }); 
      }); //.delay(500).animate({'opacity':1},300); 

     } 

     // Set class for current thumb 
     var thumbs = outerContainer.find("ul:first").find("a"); 
     thumbs.each(function(){ 
      if($K2(this).hasClass('sigProLinkSelected')){ 
       $K2(this).removeClass('sigProLinkSelected'); 
      } 
     }); 
     el.addClass('sigProLinkSelected'); 

    }); 
+0

Зачем это изменение в $ K2? – Jarco

+0

Потому что их файл js в вашем приложении использует следующую строку: var $ K2 = jQuery.noConflict(); это означает, что вы создаете другой псевдоним, чем $, чтобы быть $ K2, и эти методы используются, потому что есть другие библиотеки javascript, которые используют тот же псевдоним, который является $, так что их файл js, который изменил jquery $ на $ K2 и я знал, что, когда я пытался использовать консоль браузера, чтобы сделать какой-либо селектор, $ не работал, но когда я исследовал ваши файлы js, я знал, что $ K2 следует использовать вместо $, и он работал так, чтобы я обновил файл beh.js для поддержки $ K2 –

Смежные вопросы