powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Применение двух плагинов jQuery на одной странице
11 сообщений из 11, страница 1 из 1
Применение двух плагинов jQuery на одной странице
    #36334289
Фотография byverka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я только начинаю пользоваться jQuery, познания в области JavaScript начальные - надеюсь на понимание.
Вопрос следующий:
- делаю html страничку с галереей и горизонтальным выпадающим (анимированным) меню.
Галерея простая, просто таблица в каждой ячейке ссылка в виде картинки. При клике на любую из ссылок - появляется всплывающее окно с некоторым текстом.
Для анимированного меню использую один плагин, для всплывающих окон - второй. Выглядит это примерно так:

<script type="text/javascript" src="js/jQuery.js"></script> -- библиотека jQuery
<script type="text/javascript" src="js/interface.js"></script> -- библиотека для всплывающих окон
<script type="text/javascript" src="js/popup.js"></script> -- скрпит jQuery для всплывающих окон
<script type="text/javascript" src="js/superfish.js"></script> -- библиотека для анимированного меню
<script type="text/javascript" src="js/site.js"></script> -- скрипт jQuery для анимированного меню

В файлах js/site.js и js/popup.js код начинается с одного и того же события:
$(document).ready( function() {...

Следовательно, если порядок перечисления файлов JavaScript будет таким, как указано выше, то при загрузке страницы, работать будет только всплывающие окна (эти файлы включены раньше чем файлы анимированного меню). Следовательно если поменять порядок подключения файлов, то начнет работать только анимированное меню, а всплывающие окна нет.
Как я понимаю, проблема именно в том, что файлы js/site.js и js/popup.js содержат одну и туже директиву $(document).ready, и работает только тот файл, который был указан первым по порядку в заголовке страницы.
Как слить воедино файлы js/site.js и js/popup.js? Или может быть нужно просто их как-то по другому подключать в заголовке страницы?
Спасибо!
...
Рейтинг: 0 / 0
Применение двух плагинов jQuery на одной странице
    #36334524
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
byverkaЯ только начинаю пользоваться jQuery, познания в области JavaScript начальные - надеюсь на понимание
Изучите DOM, ну и немножко яваскрипт (яваскрипт - самое простое, что можно за пару дней выучить). Увы, без этого жквери не работает.
...
Рейтинг: 0 / 0
Применение двух плагинов jQuery на одной странице
    #36334876
Фотография byverka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergebyverkaЯ только начинаю пользоваться jQuery, познания в области JavaScript начальные - надеюсь на понимание
Изучите DOM, ну и немножко яваскрипт (яваскрипт - самое простое, что можно за пару дней выучить). Увы, без этого жквери не работает.

А как вы думаете, если я не изучала объектную модель DOM и яваскрипт хотя бы на начальном уровне - у меня заработало и анимированное меню и всплывающие окна?
Я прошу только совета или подсказки, как хотите, почему не подключается плагин? Если вы знаете причину, почему бы не написать ее, а не отправлять учить мат часть?
...
Рейтинг: 0 / 0
Применение двух плагинов jQuery на одной странице
    #36335029
an0nym
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
byverkaShSergebyverkaЯ только начинаю пользоваться jQuery, познания в области JavaScript начальные - надеюсь на понимание
Изучите DOM, ну и немножко яваскрипт (яваскрипт - самое простое, что можно за пару дней выучить). Увы, без этого жквери не работает.

А как вы думаете, если я не изучала объектную модель DOM и яваскрипт хотя бы на начальном уровне - у меня заработало и анимированное меню и всплывающие окна?
Я прошу только совета или подсказки, как хотите, почему не подключается плагин? Если вы знаете причину, почему бы не написать ее, а не отправлять учить мат часть?
Мат. часть никогда лишней не будет, особенно, если вы задает вопросы про $(document).ready() - то вы даже не удосужились прочитать мануал jQuery и назначение этой функции.

Ну да ладно.

$(document).ready() выполняет то, что записано в скобках, как только будет полностью загружена DOM-модель документа (AFAIK, это не обязательно полная загрузка документа со всеми изображениями). Несколько вызовов к этой функции просто последовательно выполнят то, что будет написано в скобках у каждого вызова - т. е. тут проблемы нет.

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

Для начала расскажите, откуда вы скачали плагины, чтобы было ясно, о чем речь. + Выложите побольше кода - того, где эти плагины вы используете и где не работает больше одного.
...
Рейтинг: 0 / 0
Применение двух плагинов jQuery на одной странице
    #36335133
Фотография byverka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну с чего вы взяли что я не знаю как работает функция $(document).ready... Тяжело новому человеку в бою.
Функция ready() ждет пока загрузиться весь HTML и после этого запускает все скрипты, не дожидаясь загрузки картинок и роликов. Это мне известно, и мне так же казалось что оба скрипта, ожидающие загрузки HTML нормально сработают вместе или поочередно, но как бы не так.

Скрипты модального окна были взяты здесь: http://www.ruseller.com/lessons.php?rub=32&id=178
Скрипты анимированного меню взяты из книжки Дэвид Макфарланд "Java Script подробное руководство", поэтому приведу здесь только js код, который непосредственно рулит анимацией меню:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
// JavaScript Document
	$(document).ready(function( ){
		$('.nav').superfish({
			delay: 400 
		});
		$('.nav li:has(ul)').find('a:first').addClass('sub');	
		$('.nav ul li:has(ul)').find('a:first').removeClass('sub').addClass('subsub');
	}); //ready

Видимо я что-то упускаю, поэтому и не работают оба плагина.
...
Рейтинг: 0 / 0
Применение двух плагинов jQuery на одной странице
    #36335190
Фотография byverka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще хочу уточнить, отдельно каждый плагин работает без сучка и задоринки, то есть если на транице есть только меню или только модальные окна. Как только я их соединяю, работать хочет только один. Причем Java Script в случае их совместной работы реагирует на совершенно разные объекты, меню реагирует на действия со списоком, окно реагирует на ссылки в виде картинок.
...
Рейтинг: 0 / 0
Применение двух плагинов jQuery на одной странице
    #36335225
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не спец в жквери, но у меня подозрение, что эти самые $(document).ready(function( ){} просто переопределяют друг друга, поэтому и не работает. Хотя, могу ошибиться. Поэтому файрбаг в помощь.
...
Рейтинг: 0 / 0
Применение двух плагинов jQuery на одной странице
    #36335336
Фотография byverka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergeЯ не спец в жквери, но у меня подозрение, что эти самые $(document).ready(function( ){} просто переопределяют друг друга, поэтому и не работает. Хотя, могу ошибиться. Поэтому файрбаг в помощь.

Спасибо! Придется правда установить firefox, но для работы все равно будет полезно.
...
Рейтинг: 0 / 0
Применение двух плагинов jQuery на одной странице
    #36335401
an0nym
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergeЯ не спец в жквери, но у меня подозрение, что эти самые $(document).ready(function( ){} просто переопределяют друг друга, поэтому и не работает. Хотя, могу ошибиться. Поэтому файрбаг в помощь.
Не, это просто бинд на эвент.
...
Рейтинг: 0 / 0
Применение двух плагинов jQuery на одной странице
    #36335574
Фотография byverka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
an0nymShSergeЯ не спец в жквери, но у меня подозрение, что эти самые $(document).ready(function( ){} просто переопределяют друг друга, поэтому и не работает. Хотя, могу ошибиться. Поэтому файрбаг в помощь.
Не, это просто бинд на эвент.

То есть вы хотите сказать что переопределением функции ready() проблем нет?
...
Рейтинг: 0 / 0
Применение двух плагинов jQuery на одной странице
    #36335740
Фотография byverka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Похоже я разобралась в чем дело.
В самом начале я написала, что у меня в качестве библиотеки jQuery указан файл js/jQuery.js.
Его я скачала вместе с исходниками для всплывающих окон.
Для анимированного меню, если я его делаю отдельно от модальных окно, я использую библиотеку с сайта разработчиков самого jQuery: http://code.jquery.com/jquery-latest.js.
Попробовав обе эти библиотеки одновременно в одном HTML, я поняла, что если использовать только jQuery.js - отлично работают модальные окна, а горизонтальное меню оказывается работает, но реагирует не на события onmouseover и onmouseout, а только если кликнуть на элементе меню, то есть на событие onClick. Оно и понятно, библиотека jQuery.js была скачана вместе с исходниками для модальных окон, поэтому работа анимированного меню и не гарантировалась.
Если подключать общедоступную библиотеку с сайта разработчиков http://code.jquery.com/jquery-latest.js, работает только анимированное меню, при этом всплывающие окна вообще никак не работают. То есть этот вариант еще хуже. В первом меню хоть как-то шевелиться.
Вывод один, нужна библиотека jquery.js которая бы поддерживала и окна и меню. Для этого похоже надо каким-то образом соединить обе имеющиеся уже библиотеки, или найти десять отличий. Что мне кажется нереальным. Вот теперь не знаю, от чего отказаться, от jQuery вообще или от одновременного использования и окон и меню.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Применение двух плагинов jQuery на одной странице
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]