Javascript.RU

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

Один скрипт мешает другому функционировать
Доброй ночи,

На сайте стоит скрипт фильтра товаров, при подключении скрипта обратного звонка, фильтр перестает работать вот код фильтра:
$('#fltr a').click(function(){
	var fltr = $('#fltr a');
	var width = $('#yoo-zoo .width50');
	var row = $('#yoo-zoo .row');
	if($(this).attr('rel') == 'all'){
		fltr.removeClass('current');
		$(this).addClass('current');
		width.show();
}
	else{
		row.hide();
		width.unwrap().css({
		'padding':'0 0 5px',
		'height':'90px'
}).hide();
	fltr.removeClass('current');
	$(this).addClass('current');
	var newSelection = $(this).attr('rel');
	var newRout = newSelection + 'h';var doubleRout = newSelection + 'x';
	$('a[href*=' +newRout+ ']').parentsUntil('.row').show();
	$('a[href*=' +doubleRout+ ']').parentsUntil('.row').show();
	width.wrapAll("<div class='row'></div>")
	;};});}); // конец ready


по консоли гугл хрома, ошибка возникает вот здесь
if($(this).attr('rel') == 'all'){

пишет uncaught typeerror undefined is not a function .

Скрипт обратного звонка callme. Callme работает и с фильтром и без. Фильтр работает только без callme. Скрипт для фильтра писал сам, настолько хорошо насколько хватило моих познаний.

Возможно callme подключает какую то не ту версию jquery, из за чего фильтр ломается?

Помогите разобраться новичку =)
Ответить с цитированием
  #2 (permalink)  
Старый 14.03.2015, 07:15
Профессор
Отправить личное сообщение для Infinity178 Посмотреть профиль Найти все сообщения от Infinity178
 
Регистрация: 13.04.2014
Сообщений: 187

Можете HTML логику продемонстрировать?

Т.е.:
Если некий лист ссылок
При клике на ссылку что должно происходить?
- с данной ссылкой
- с остальными и т.п.
Ответить с цитированием
  #3 (permalink)  
Старый 14.03.2015, 07:38
Новичок на форуме
Отправить личное сообщение для Takishon Посмотреть профиль Найти все сообщения от Takishon
 
Регистрация: 14.03.2015
Сообщений: 5

Идет список ссылок в ряд, при клике на ссылку, например М12, товар показывается соответственно с параметром М12, при клике на Все , показывается весь товар.

<a rel="all">Все</a>
<a rel="12">М12</a>
<a rel="16">М16</a>
<a rel="20">М20</a>
<a rel="24">М24</a>
<a rel="30">М30</a>


Сам список товаров идет блоками по 2 <div> в ряд примерно вот так:

<div class="row">
<div class="width50 first-item">
<div class="teaser-item">
<h2 class="pos-title">
<a href="...." title="....">....</a> 
</h2>
<p class="pos-links">
<span class="element element-itemlink first last"> 
<a href="....">Подробнее...</a>
</span></p></div></div>
<div class="width50">
<div class="teaser-item">
<h2 class="pos-title"> 
<a href="...." title="....">....</a>
</h2>
<p class="pos-links">
<span class="element element-itemlink first last"> 
<a href="....">Подробнее...</a>
</span></p></div></div></div>

Последний раз редактировалось Takishon, 14.03.2015 в 07:50.
Ответить с цитированием
  #4 (permalink)  
Старый 14.03.2015, 11:53
Профессор
Отправить личное сообщение для Infinity178 Посмотреть профиль Найти все сообщения от Infinity178
 
Регистрация: 13.04.2014
Сообщений: 187

http://learn.javascript.ru/play/00hgsc

не до конца пойму - вам что то похожее требуется?
Ответить с цитированием
  #5 (permalink)  
Старый 14.03.2015, 12:04
Профессор
Отправить личное сообщение для Infinity178 Посмотреть профиль Найти все сообщения от Infinity178
 
Регистрация: 13.04.2014
Сообщений: 187

А вообще посмотрите нет ли .noConflict()

И заключайте функции с перспективой на бесконфликтную работу.

PS я всегда использую
(function($){
  $(function(){
    // function .....
  });
}(jQuery));
Ответить с цитированием
  #6 (permalink)  
Старый 14.03.2015, 14:03
Новичок на форуме
Отправить личное сообщение для Takishon Посмотреть профиль Найти все сообщения от Takishon
 
Регистрация: 14.03.2015
Сообщений: 5

В callme нашел такой кусок
function callMe() {
	var 
		$ 	= jQuery.noConflict(),
		tpl = {}, cmeForm, cmeCSS = jQuery('<link>'); // add css


Это оно?

Подскажите как исправить ситуацию?

Код который вы прислали, по сути да, нужно как раз это, только у меня нет доступа к части кода там где вы ставите атрибут data-rel , поэтому я цепляюсь за классы .width50 и .row
Ответить с цитированием
  #7 (permalink)  
Старый 14.03.2015, 14:09
Профессор
Отправить личное сообщение для Infinity178 Посмотреть профиль Найти все сообщения от Infinity178
 
Регистрация: 13.04.2014
Сообщений: 187

(function($){
  $(function(){
    // ТУТ ФУНКЦИЯ ФИЛЬТРА
  });
}(jQuery));


поместите функцию фильтра или что там конфликтует в такую функцию..
Ответить с цитированием
  #8 (permalink)  
Старый 14.03.2015, 14:11
Профессор
Отправить личное сообщение для Infinity178 Посмотреть профиль Найти все сообщения от Infinity178
 
Регистрация: 13.04.2014
Сообщений: 187

Либо попробуйте так:
$   = jQuery.noConflict(),

заменить на
$  = $,
Ответить с цитированием
  #9 (permalink)  
Старый 14.03.2015, 14:17
Новичок на форуме
Отправить личное сообщение для Takishon Посмотреть профиль Найти все сообщения от Takishon
 
Регистрация: 14.03.2015
Сообщений: 5

Получилось =) Спасибо

Я так понимаю на будущее конструкция
$(document).ready(function() {
//СКРИПТ
}); // конец ready


Ведет к этим проблемам, и надо изначально строить как вы написали, верно?
Ответить с цитированием
  #10 (permalink)  
Старый 14.03.2015, 14:22
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от Takishon
Один скрипт мешает другому функционировать
плохому скрипту всегда что-то мешает
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрипт правильно работает только один раз, после начинает выдавать ошибку. xodock Events/DOM/Window 2 23.07.2012 13:04
Как сделать так чтобы один скрипт работал во многих элементах Darkhan Общие вопросы Javascript 2 16.02.2012 16:13
Изменить скрипт Изучаю_JS Общие вопросы Javascript 0 12.02.2012 21:05
много <div> а скрипт один DimaRogov Events/DOM/Window 9 17.09.2011 18:11
Существует ли скрипт, который рисует стрелки от одного элемента DOM к другому? FINoM Элементы интерфейса 4 15.05.2011 21:23