Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Совместимость скриптов\плагинов jQuery (https://javascript.ru/forum/dom-window/39130-sovmestimost-skriptov%5Cplaginov-jquery.html)

Phil_F 17.06.2013 13:26

Совместимость скриптов\плагинов 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>


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

Заранее большое спасибо!

danik.js 17.06.2013 13:59

Цитата:

Сообщение от Phil_F
$(this).scrollDown()

А это че еще такое?

Откройте консоль браузера (F12 либо Ctrl+Shift+I, либо смотрите в меню) и посмотрите какие сыпятся ошибки. Все три куска можно объединить в один. Более того, все можно засунуть в одну функцию.

mta88 17.06.2013 14:06

что-то вы не договариваете
на сайте есть еще скрипт "jerry.js", который удаляет jquery-функцию scrollTop:blink:
если он был всегда, то и плагин 2 никогда бы не работал

Phil_F 18.06.2013 00:03

Цитата:

Сообщение от mta88 (Сообщение 256787)
что-то вы не договариваете
на сайте есть еще скрипт "jerry.js", который удаляет jquery-функцию scrollTop:blink:
если он был всегда, то и плагин 2 никогда бы не работал

Да, но я переименовал jQuery.js в jerry.js в надежде на то, что он не будет мешаться... Каким образом он его удаляет:blink:

Phil_F 18.06.2013 00:06

Цитата:

Сообщение от danik.js (Сообщение 256785)
А это че еще такое?

Откройте консоль браузера (F12 либо Ctrl+Shift+I, либо смотрите в меню) и посмотрите какие сыпятся ошибки. Все три куска можно объединить в один. Более того, все можно засунуть в одну функцию.

Да, ошибки я видел...а скрипт где указано scrollDown вообще не нужен я забыл его убрать. Я попробую подумать на счёт объединения... попробую что нибудь сделать... спасибо за подсказку!

Phil_F 18.06.2013 00:12

Цитата:

Сообщение от mta88 (Сообщение 256787)
что-то вы не договариваете
на сайте есть еще скрипт "jerry.js", который удаляет jquery-функцию scrollTop:blink:
если он был всегда, то и плагин 2 никогда бы не работал

Ещё... тогда почему при удалении кода:
<script type="text/javascript"> $(document).ready(function(){	 	$("tr").easyTooltip(); }); </script>


Плагин 2 начитает работать? jerry.js тогда непричём?

mta88 18.06.2013 06:15

Цитата:

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

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

Цитата:

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

Phil_F 18.06.2013 18:40

Цитата:

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

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



понятия не имею
может быть потому что у вас 2 jquery на странице
не знаю как они могут взаимодействовать

Да, Вы гений! Спасибо! Я обновил содержание файла jerry.js и всё заработало! Спасибо!


Часовой пояс GMT +3, время: 10:58.