Facebox с другими jquery в нем - PullRequest
0 голосов
/ 17 марта 2010

Итак, у меня есть настройка facebox, и она работает. когда я загружаю внешнюю страницу с помощью навигации на основе вкладок (тоже JQuery), модал работает, а навигация - нет. Если это не ясно, я действительно хочу, чтобы вкладки были внутри лайтбокса. И у меня также есть php / mysql, работающий внутри лайтбокса, если это может что-то изменить. Спасибо за любую помощь.

Это оригинальный модальный вызов

<link href="facebox/facebox.css" media="screen" rel="stylesheet" type="text/css"/>
<script src="facebox/facebox.js" type="text/javascript"></script>
<script type="text/javascript">
$(function() {
    $('a[rel*=facebox]').facebox()
});

Это скрипт на странице, который вызывает модальное окно

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript" src="js/jquery-ui-1.7.2.custom.min.js"></script>
<script type="text/javascript">
    $(function(){
        $('#tabs').tabs();
        });
</script>
<div id="tabs">
    <ul>
        <li><a href="#tabs-1">Informations</a></li>
        <li><a href="#tabs-2">Factures en attente</a></li>
        <li><a href="#tabs-3">Marché en cours</a></li>
    </ul>
<div id="tabs-1"> one</div>
<div id="tabs-2"> two</div>
<div id="tabs-3">three</div>

Ответы [ 2 ]

0 голосов
/ 17 марта 2010

Невозможно воспроизвести. Сделайте простую демонстрацию здесь http://jsbin.com/iposi3/2, которая загружает http://jsbin.com/uwoxe/2. Обратите внимание, что крайне важно, чтобы загруженная удаленная страница не была полноформатной HTML-страницей, поэтому нет html, head, body тегов и т. Д., Иначе он полностью потерпит неудачу. Только "html-фрагмент", как тот, который вы показали.

Для просмотра кода используйте http://jsbin.com/iposi3/2/edit и http://jsbin.com/uwoxe/2/edit

Отлично работает в моей Опере. Хотя, конечно, лицевая панель слишком мала, чтобы хорошо отображать вкладки с настройками по умолчанию.


К вашей проблеме я вспоминаю (отметьте мой пост на этом ), что jQuery иногда удаляет теги script из удаленно загруженного контента. Но, похоже, это применимо только тогда, когда используется $.load, а FaceBox не используется (для удаленного контента используется $.get).

В каком браузере у вас проблемы? Если это IE, то IE может выдавать ошибки «Permission Denied», когда jQuery пытается внедрить теги сценария из удаленного контента. Вы проверяли консоль ошибок браузера?

0 голосов
/ 17 марта 2010

Здесь недостаточно подробностей для меня .. Где модальная разметка / вызов? Где ваши контейнеры, на которые ссылаются вкладки?

См. Источник для примера здесь:

http://docs.jquery.com/UI/Tabs

Если вы не используете контейнеры, вкладкам не с чем взаимодействовать, и они могут не работать.

Edit:

Согласно официальному документу, это должно работать после загрузки jquery:

<div id="tabs">
   <ul>
      <li><a href="#tabs-1">Nunc tincidunt</a></li>
      <li><a href="#tabs-2">Proin dolor</a></li>
      <li><a href="#tabs-3">Aenean lacinia</a></li>
   </ul>
   <div id="tabs-1">
      <p>Tab 1 content</p>
   </div>
   <div id="tabs-2">
      <p>Tab 2 content</p>
   </div>
   <div id="tabs-3">
      <p>Tab 3 content</p>
   </div>
</div>

Вы пробовали точный пример, чтобы увидеть, работает ли он? Если это не сработает, возможно, Facebox мешает. Попробуйте уменьшить его до простейшей формы, не тратя много времени, посмотрите, работает ли он, а затем начните медленно добавлять вещи.

...