Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.01.2015, 20:39
Новичок на форуме
Отправить личное сообщение для ArFree Посмотреть профиль Найти все сообщения от ArFree
 
Регистрация: 20.01.2015
Сообщений: 2

Скрипт создания табов и возможный конфликт с другими скриптами
Доброго всем времени суток, перейду сразу к проблеме.
Есть скрипт, который создает табы:

(function(jQuery) {  
jQuery(document).ready(function() {  
  jQuery('div.tabs').on('click', 'span:not(.current)', function() {
     jQuery(this).addClass('current').siblings().removeClass('current')
          .parents('div.section').find('div.box').eq(jQuery(this).index()).fadeIn(400).siblings('div.box').hide();
  })
})  
})(jQuery)


Собираю сайт доставшийся от сторонних разработчиков на WordPress и использую тамошний плагин для карусели.

Суть проблемы такова, что когда происходит переключение с активного таба (а под табом находится карусель-галерея, скрипт карусели ведет себя некорректно:
http://s7.hostingkartinok.com/upload...3d26256ac8.jpg
И самое (для меня) странное в том, что все становится нормально, когда происходит изменения размера области просмотра. Т.е. если открыть фаербаг или изменение размера окна браузера во время просмотра бага, он станет работать корректно. НО ПРИ ЭТОМ! Если переключиться на другой таб (На ранее активный, с которым все было нормально) он начинает также некорректно отображаться и если произойдет изменение области просмотра, то все станет хорошо.
Собственно сам сайт http://lugovskoy.pro/
Я обычно сам решаю свои проблемы, тем более, что пока считаю их глупыми, но тут ни сил, ни идей уже нет...

Последний раз редактировалось ArFree, 20.01.2015 в 20:41.
Ответить с цитированием
  #2 (permalink)  
Старый 20.01.2015, 22:08
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,103

ArFree,
плагину галереи нужен размер -- а вы его скрыли - покажите блок на время инициализации второй галереи и потом скрывайте div.box в котором она находится
Ответить с цитированием
  #3 (permalink)  
Старый 20.01.2015, 23:51
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от ArFree
(function(jQuery) {

})(jQuery)
Обычно так делают чтобы сократить имя переменной до $. Но у каждого свои тараканы в голове )
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #4 (permalink)  
Старый 22.01.2015, 05:34
Новичок на форуме
Отправить личное сообщение для ArFree Посмотреть профиль Найти все сообщения от ArFree
 
Регистрация: 20.01.2015
Сообщений: 2

Сообщение от рони Посмотреть сообщение
плагину галереи нужен размер -- а вы его скрыли - покажите блок на время инициализации второй галереи и потом скрывайте div.box в котором она находится
Спасибо большое, помогло.

Сообщение от danik.js Посмотреть сообщение
Обычно так делают чтобы сократить имя переменной до $. Но у каждого свои тараканы в голове )
Таким образом решил проблему конфликта скриптов, не знаю, правда, на сколько это корректно.
Ответить с цитированием
  #5 (permalink)  
Старый 22.01.2015, 10:22
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,103

Сообщение от ArFree
на сколько это корректно
в данном случае эта обёртка лишняя так как внутри нет $

обёртка нужна если такая структура, чтобы не переписывать все $ код оборачивают анонимной функцией с параметром запасного имени jQuery
(function($) { 
$(document).ready(function() {  }
 })(jQuery)
Ответить с цитированием
  #6 (permalink)  
Старый 22.01.2015, 10:37
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,103

Сообщение от ArFree
Спасибо большое, помогло.
на всякий случай этот способ не спасает в случае изменения размера экрана (неоткрытая галерея получит искажения)
1 решение 90% - использовать функцию resize самого плагина которая делает перерасчёт параметров при изменении окна и после открытия галереи её запускать (нет внешнего api для её запуска).
2 решение научить плагин вычислять размеры скрытых элементов 100%
3 решение 500% написать автору плагина о своей проблеме
Ответить с цитированием
  #7 (permalink)  
Старый 22.01.2015, 10:47
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от ArFree
проблему конфликта скриптов
Какого еще конфликта? Ты че, дважды чтоли jQuery подключил? А нафига???
__________________
В личку только с интересными предложениями
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Возможный конфликт с js скриптами. Что делать? djrogoff Общие вопросы Javascript 3 04.09.2014 15:38
Нужен 1 скрипт создания таблицы с фильтром artsmart Работа 2 26.05.2014 13:12
Скрипт не работает с 80% скриптами jkybc AJAX и COMET 1 24.03.2013 21:40
Проблема со скриптами - конфликт yanzorg Общие вопросы Javascript 7 10.03.2013 13:34
Конфликт между двумя скриптами karencho777 Общие вопросы Javascript 3 03.03.2013 12:51