Редактировать: Хорошо, я посмотрел на ваш файл login.php.Помните, что вы загружаете контент с помощью AJAX с помощью плагина fancybox.Это очень отличается от помещения его в iframe.Когда вы загружаете контент через AJAX, он является частью вашей страницы, а не отдельным HTML-документом на вашей странице.Он будет использовать те же скрипты, что и ваша страница, и любые скрипты на главной странице могут также применяться к загруженному контенту, поэтому я предложил вам использовать код jQuery.
Теперь, в firebug * 1006Консоль javascript, когда я запускал код, работал, а когда вы помещали его в файл login.php - нет.Очевидно, что скрипты не загружаются через ajax с помощью fancybox.Посмотрите: Использование fancybox на странице, загруженной AJAX .Вы можете увидеть, что скрипты не загружены, если вы проверяете элемент входа в fancybox в firebug или другом инструменте.
Следовательно, вам нужен отдельный код на главной странице, чтобы обрабатывать сценарии для бита входа в систему при загрузке,Вы можете использовать опцию fancybox onComplete
для этого.Поэтому в вашем коде для инициализации бита fancybox для ссылки входа в систему $("#various3").fancybox();
используйте вместо этого:
$("#various3").fancybox({onComplete: function() {
var $gallery = $('#gallery');
var $titles = $gallery.find('div[title]');
$titles.click(function() {
var $this = $(this);
if ($this.hasClass('off')) {
$titles.removeClass('on').addClass('off');
$this.removeClass('off').addClass('on');
$gallery.find('.show').removeClass('show').addClass('hide').hide()
.end().find('#' + $this.attr('title')).removeClass('hide').addClass('show').show();
}
});
});
Обратите внимание, что это на вашей главной странице.Этот код теперь будет запускаться каждый раз, когда fancybox загружает контент.Вы можете использовать свой собственный javascript-код tabbed.js здесь, а не jQuery-код, который я опубликовал, однако оба будут работать нормально.
Обратите внимание, что есть одна вещь, которую вы здесь делаете в корне неправильно. только причина, по которой вам понадобится файл login.php в качестве отдельной страницы, заключается в том, что у пользователя не был включен JavaScript - в этом случае ссылка приведет пользователя на эту страницу, а не загрузит fancybox. Однако ваша страница входа не будет работать должным образом без JavaScript.Пользователи без javascript не могут зарегистрироваться на вашем сайте .
Вы должны кодировать отдельную страницу login.php, чтобы она прекрасно работала без javascript, а затем полностью добавлять функциональность табуляции с помощью кода.Вам не нужен javascript на отдельной странице login.php, потому что у любого пользователя, получающего доступ к этой странице как есть, не будет включен javascript.
Простой способ заставить страницу работать без javascript - сделать и #Register, и# У логинов div изначально есть класс show.Затем измените первый бит моего кода JQuery выше:
var $gallery = $('#gallery');
$gallery.find('#Register').removeClass('show').addClass('hide');
var $titles = $gallery.find('div[title]');
Довольно долго, но я надеюсь, что это поможет вам.Дайте мне знать, если у вас есть проблемы.