Javascript-форум (https://javascript.ru/forum/)
-   Библиотеки/Тулкиты/Фреймворки (https://javascript.ru/forum/library-toolkit-framework/)
-   -   JQuery блокирует работу яваскрипта (https://javascript.ru/forum/library-toolkit-framework/30836-jquery-blokiruet-rabotu-yavaskripta.html)

assd18 17.08.2012 17:37

JQuery блокирует работу яваскрипта
 
Здравствуйте. У меня JQuery блокирует работу яваскрипта. Когда подключаю библиотеки JQuery, то перестает работать другой скрипт. В чем может быть проблема? Заранее спасибо за помощь)
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js">
<script src="/js/jquery.js">
<script src="/js/jquery-1.6.2.min.js">
<script src="/js/jquery-ui-1.8.16.custom.min.js">

Deff 17.08.2012 18:05

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js">
<script src="/js/jquery-ui-1.8.16.custom.min.js">
Пробуйте так

(Вместо Вашего всего)

devote 17.08.2012 18:15

ого, нахера подключать сразу аж четыре библиотеки джуквери... Вот жешь люди извращенцы.

assd18 17.08.2012 18:19

Не работает. Если убираю
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js

Вылазит TypeError: Object #<HTMLDocument> has no method 'ready' и другой скрипт работает, а этот нет((((

Deff 17.08.2012 18:40

assd18,
Тут надо экспериментировать
Дайте ссылку и укажите траблы на скриншоте (ну или опишите

assd18 17.08.2012 18:42

Я работаю на локал хосте. А чем помогут скрины?

Deff 17.08.2012 18:44

Цитата:

Сообщение от assd18
Я работаю на локал хосте.

:) Тогда убирайте библы по одной в таком порядке

1 <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"> 
4	<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"> 
3	<script src="/js/jquery.js"> 
2	<script src="/js/jquery-1.6.2.min.js"> 
	<script src="/js/jquery-ui-1.8.16.custom.min.js">

Смотрите результ
Если нет - экспериментируйте сами

assd18 17.08.2012 18:46

Подключаю
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js">
<script src="/js/jquery-ui-1.8.16.custom.min.js">

Если убираю
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js">

Работает скрипт который блокировался, но теперь не работает мой и выдает ошибку TypeError: Object #<HTMLDocument> has no method 'ready'

assd18 20.08.2012 09:38

Ни у кого нету идей, в чем может быть проблема?

Deff 20.08.2012 10:54

assd18,
Ссылку на ресурс и скриншот - где нажимать и в чем траблы

assd18 20.08.2012 10:58

Цитата:

Сообщение от assd18 (Сообщение 198315)
Я работаю на локал хосте.

Я уже писал.

assd18 20.08.2012 11:04


Меню типа этого.
http://www.nat-geo.ru/
Если подгружаю в один из дивов гугл мапс не показывает выделенную область.

Deff 20.08.2012 11:21

Цитата:

Сообщение от assd18
Я работаю на локал хосте

Лечить зубы по фотографиям зубов - неудобно

assd18 20.08.2012 11:24

Вся загвоздка в ошибке - TypeError: Object #<HTMLDocument> has no method 'ready'. Как сней можно бороться?

assd18 20.08.2012 11:38

$(document).ready(function() {

Здесь вылазит ошибка -  TypeError: Object #<HTMLDocument> has no method 'ready'

	taber('.taber');	
});
function taber (tabs) {
	
	$(tabs).find('.item a').click(function() {
		// get number
		var number = $(this).parent().prevAll().length;
		if (number==4) return true;
		
		// remove active
		$(this).parent().parent().find('.active').removeClass('active');
		// set active
		$(this).parent().addClass('active');
		// hide blocks
		$(this).parent().parent().parent().find('.blocks .block').css('display', 'none');
		// show block
		$(this).parent().parent().parent().find('.blocks .block:eq(' + number + ')').css('display', 'block');

		return false;
	});
	
}

Deff 20.08.2012 11:57

assd18,
Код не полный - нет концовки - пробуйте поставить в футер без обрамления
$(document).ready(function() {
//Тут код
});

assd18 21.08.2012 16:23

Сделал, так но все равно не работает.
$(document).ready(function() {

$(tabs).find('.item a').click(function() {
		// get number
		var number = $(this).parent().prevAll().length;
		if (number==4) return true;
		
		// remove active
		$(this).parent().parent().find('.active').removeClass('active');
		// set active
		$(this).parent().addClass('active');
		// hide blocks
		$(this).parent().parent().parent().find('.blocks .block').css('display', 'none');
		// show block
		$(this).parent().parent().parent().find('.blocks .block:eq(' + number + ')').css('display', 'block');

		return false;
	});

});

Deff 21.08.2012 16:28

assd18,
Еще раз - поставьте скрипт такого-вида, вместо предыдущего, в конец страницы

<script type="text/javascript">

$(tabs).find('.item a').click(function() {
		// get number
		var number = $(this).parent().prevAll().length;
		if (number==4) return true;
		
		// remove active
		$(this).parent().parent().find('.active').removeClass('active');
		// set active
		$(this).parent().addClass('active');
		// hide blocks
		$(this).parent().parent().parent().find('.blocks .block').hide();
		// show block
		$(this).parent().parent().parent().find('.blocks .block:eq(parseInt(number))').show();

		return false;
	});
</script>

Если пройдёт - то конфликт библиотек - либо где-то выше стоит скрипт кривой

assd18 21.08.2012 16:38

Включил библиотеки, но скрипт не работает, пишет ReferenceError: tabs is not defined

assd18 21.08.2012 17:42

По-ходу получается, что происходит конфликт библиотек cssquery и jquery. cssquery вызывается раньше и это порождает конфликт. Может можно как-то "обвернуть" jquery? Спасибо)

assd18 22.08.2012 09:49

Проблему решил) Нужно просто все $ в скрипте поменять на jQuery.
И вызвать jQuery.noConflict();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js">
<script src="/js/jquery-ui-1.8.16.custom.min.js">
<script type="text/javascript">
     jQuery.noConflict();
 </script>


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