Javascript.RU

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

Совместимость скриптов\плагинов jQuery
Здравствуйте! Не могу решить проблему:
Есть сайт Bootls.com . На нём подключены 2 плагина:
1. easyTooltip
2. Поднятие страницы вверх (не знаю как он называется...)
Для плагина №2 используется просто скрипт, который я всунул в верхушке сайта:
<script type="text/javascript">
$(document).ready(function(){

	// hide #back-top first
	$("#back-top").hide();
	
	// fade in #back-top
	$(function () {
		$(window).scroll(function () {
			if ($(this).scrollTop() > 100) {
				$('#back-top').fadeIn();
			} else {
				$('#back-top').fadeOut();
			}
		});

		// scroll body to 0px on click
		$('#back-top a').click(function () {
			$('body,html').animate({
				scrollTop: 0
			}, 800);
			return false;
		});
	});

});
</script>
<script type="text/javascript">
$(document).ready(function(){

	// hide #stattop first
	$("#stattop").show();
	
	// fade in #stattop
	$(function () {
		$(window).scroll(function () {
			if ($(this).scrollDown() > 100) {
				$('#stattop').fadeOut();
			} else {
				$('#stattop').fadeIn();
			}
		});

		// scroll body to 0px on click
		$('#stattop a').click(function () {
			$('body,html').animate({
				scrollDown: 0
			}, 800);
			return false;
		});
	});

});
</script>

А для плагина №1 используются: jQuery.js и Tooltip.js, а также этот код:
<script type="text/javascript">
$(document).ready(function(){	
	$("tr").easyTooltip();
});
</script>

(он находится в <head></head>) , которые находятся в корне сайта.
Так вот первым был установлен на сайт плагин №2 и отлично работал...
После того как я подключил плагин №1 плагин №2 перестал работать...

После небольшого анализа я понял, что конфликтуют:
Этот:
<script type="text/javascript">
$(document).ready(function(){

	// hide #back-top first
	$("#back-top").hide();
	
	// fade in #back-top
	$(function () {
		$(window).scroll(function () {
			if ($(this).scrollTop() > 100) {
				$('#back-top').fadeIn();
			} else {
				$('#back-top').fadeOut();
			}
		});

		// scroll body to 0px on click
		$('#back-top a').click(function () {
			$('body,html').animate({
				scrollTop: 0
			}, 800);
			return false;
		});
	});

});
</script>
<script type="text/javascript">
$(document).ready(function(){

	// hide #stattop first
	$("#stattop").show();
	
	// fade in #stattop
	$(function () {
		$(window).scroll(function () {
			if ($(this).scrollDown() > 100) {
				$('#stattop').fadeOut();
			} else {
				$('#stattop').fadeIn();
			}
		});

		// scroll body to 0px on click
		$('#stattop a').click(function () {
			$('body,html').animate({
				scrollDown: 0
			}, 800);
			return false;
		});
	});

});
</script>

И этот:
<script type="text/javascript">
$(document).ready(function(){	
	$("tr").easyTooltip();
});
</script>


Помогите разобраться! Может их каким то образом объединить?

Заранее большое спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 17.06.2013, 13:59
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Phil_F
$(this).scrollDown()
А это че еще такое?

Откройте консоль браузера (F12 либо Ctrl+Shift+I, либо смотрите в меню) и посмотрите какие сыпятся ошибки. Все три куска можно объединить в один. Более того, все можно засунуть в одну функцию.
Ответить с цитированием
  #3 (permalink)  
Старый 17.06.2013, 14:06
Профессор
Отправить личное сообщение для mta88 Посмотреть профиль Найти все сообщения от mta88
 
Регистрация: 16.05.2013
Сообщений: 229

что-то вы не договариваете
на сайте есть еще скрипт "jerry.js", который удаляет jquery-функцию scrollTop
если он был всегда, то и плагин 2 никогда бы не работал
Ответить с цитированием
  #4 (permalink)  
Старый 18.06.2013, 00:03
Интересующийся
Отправить личное сообщение для Phil_F Посмотреть профиль Найти все сообщения от Phil_F
 
Регистрация: 13.08.2012
Сообщений: 20

Сообщение от mta88 Посмотреть сообщение
что-то вы не договариваете
на сайте есть еще скрипт "jerry.js", который удаляет jquery-функцию scrollTop
если он был всегда, то и плагин 2 никогда бы не работал
Да, но я переименовал jQuery.js в jerry.js в надежде на то, что он не будет мешаться... Каким образом он его удаляет
Ответить с цитированием
  #5 (permalink)  
Старый 18.06.2013, 00:06
Интересующийся
Отправить личное сообщение для Phil_F Посмотреть профиль Найти все сообщения от Phil_F
 
Регистрация: 13.08.2012
Сообщений: 20

Сообщение от danik.js Посмотреть сообщение
А это че еще такое?

Откройте консоль браузера (F12 либо Ctrl+Shift+I, либо смотрите в меню) и посмотрите какие сыпятся ошибки. Все три куска можно объединить в один. Более того, все можно засунуть в одну функцию.
Да, ошибки я видел...а скрипт где указано scrollDown вообще не нужен я забыл его убрать. Я попробую подумать на счёт объединения... попробую что нибудь сделать... спасибо за подсказку!
Ответить с цитированием
  #6 (permalink)  
Старый 18.06.2013, 00:12
Интересующийся
Отправить личное сообщение для Phil_F Посмотреть профиль Найти все сообщения от Phil_F
 
Регистрация: 13.08.2012
Сообщений: 20

Сообщение от mta88 Посмотреть сообщение
что-то вы не договариваете
на сайте есть еще скрипт "jerry.js", который удаляет jquery-функцию scrollTop
если он был всегда, то и плагин 2 никогда бы не работал
Ещё... тогда почему при удалении кода:
<script type="text/javascript"> $(document).ready(function(){	 	$("tr").easyTooltip(); }); </script>


Плагин 2 начитает работать? jerry.js тогда непричём?
Ответить с цитированием
  #7 (permalink)  
Старый 18.06.2013, 06:15
Профессор
Отправить личное сообщение для mta88 Посмотреть профиль Найти все сообщения от mta88
 
Регистрация: 16.05.2013
Сообщений: 229

Цитата:
Каким образом он его удаляет?
судя по комментарию в jerry.js, он содержит какой-то PseudoCSS и jquery1.2.3
специально проверил, что scrollTop появился в версии 1.2.6
видимо вторая jquery переопределяет первую

удалите этот файл короче (зачем он вам?) и попробуйте без него

Цитата:
Eщё... тогда почему при удалении кода: ... Плагин 2 начитает работать? jerry.js тогда непричём?
понятия не имею
может быть потому что у вас 2 jquery на странице
не знаю как они могут взаимодействовать

Последний раз редактировалось mta88, 18.06.2013 в 06:18.
Ответить с цитированием
  #8 (permalink)  
Старый 18.06.2013, 18:40
Интересующийся
Отправить личное сообщение для Phil_F Посмотреть профиль Найти все сообщения от Phil_F
 
Регистрация: 13.08.2012
Сообщений: 20

Сообщение от mta88 Посмотреть сообщение
судя по комментарию в jerry.js, он содержит какой-то PseudoCSS и jquery1.2.3
специально проверил, что scrollTop появился в версии 1.2.6
видимо вторая jquery переопределяет первую

удалите этот файл короче (зачем он вам?) и попробуйте без него



понятия не имею
может быть потому что у вас 2 jquery на странице
не знаю как они могут взаимодействовать
Да, Вы гений! Спасибо! Я обновил содержание файла jerry.js и всё заработало! Спасибо!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
хочу инвайт на хабр macdack Оффтопик 45 28.07.2013 23:18
Несколько версий JQuery UI на одной странице. Casufi jQuery 2 10.11.2012 15:24
Вопрос поддержки старых методов jQuery antonM jQuery 1 04.10.2012 00:08
Не совместимость jquery BELko_ Общие вопросы Javascript 0 24.09.2012 13:56
Совместимость скриптов jquery De-Luxe Элементы интерфейса 2 24.03.2012 21:02