#jquery #window #lightbox #modal-dialog
#jquery #окно #лайтбокс #модальный диалог
Вопрос:
У меня есть модальное окно, из которого я вызываю лайтбокс для просмотра изображений. Я заставил лайтбокс работать самостоятельно, но не могу заставить его работать из модального окна.
Если я включу jQuery до включения лайтбокса — страница прервется, и все настройки портлета завершатся ошибкой.
С благодарностью за любую помощь, Рич.
Проект: http://djrb.co.uk/lightbox/tester.html
Рабочий пример лайтбокса:http://djrb.co.uk/lightbox/working_example.html
Ответ №1:
Похоже, вы включаете как jQuery, так и Prototype. Поскольку они оба переопределяют $, вам нужно выполнить специальную обработку и иметь следующую строку после загрузки jQuery
jQuery.noConflict();
Смотрите эту ссылку для получения более подробной информации.
Комментарии:
1. спасибо за ваш ответ. Я только что добавил этот код, и пример все еще работает, в то время как файл tester — нет. Я повторно загрузил. Еще раз спасибо, Рич
2. Исправлено! Прочитайте документацию по вашей ссылке и замените $ на jQuery. Спасибо!
Ответ №2:
У вас уже есть другие библиотеки JS. Доступ к этим библиотекам осуществляется через $, так же, как и в jquery. Если вам нужно использовать несколько библиотек, используйте jquery в бесконфликтном режиме.
<html>
<head>
<script src="prototype.js"></script>
<script src="jquery.js"></script>
<script>
jQuery.noConflict();
// Use jQuery via jQuery(...)
jQuery(document).ready(function(){
jQuery("div").hide();
});
// Use Prototype with $(...), etc.
$('someid').hide();
</script>
</head>
<body></body>
</html>
Комментарии:
1. Эй, ребята, спасибо за вашу помощь. Похоже, это проблема, но я не понимаю, что поместить в строки jQuery («div»).hide(); или $ (‘someid’).hide()? Спасибо, Рич
2. @Richard — Джефф просто приводил пример некоторого кода jQuery.