Я создаю свое портфолио и хочу создать галерею для отображения своих проектов.У меня есть выбор из семи элементов, содержащих контент, которые образуют раздел моего сайта с вкладками навигации.Как и в случае с другими навигациями с вкладками, только один элемент с содержимым будет активным одновременно.Однако, в отличие от других навигаций с вкладками, эта управляется PHP.Если определенное содержимое (в настоящее время настроено на функцию file_exists, но скоро будет управляться MySQL) доступно, div будет записано в навигацию, и будет отображена соответствующая ссылка.Если это не так, то ссылка будет скрыта, и div не будет записан.Необходимые файлы основаны на вызове $ _GET, и требуемые файлы различаются в зависимости от строки в моей переменной $ _GET.
Каждая вкладка имеет уникальный идентификатор.В настоящее время (так как я не являюсь экспертом по Javascript), у меня есть опция «сброс», которая устанавливает стиль всех именованных элементов div в «скрытый» стиль, прежде чем переводить выбранный элемент div в «видимое» состояние.
Что я хочу сделать, если это возможно, это:
Я хочу перейти от # div1 к # div2.Div 1, 2, 4 и 6 (для этого примера) активны.Я нажимаю на ссылку, которая говорит моей странице, что нужно отобразить # div2 (в настоящее время функция говорит только о том, чтобы скрыть ВСЕ div, а затем отображает # div2, скрытие всех других div - это отдельная функция, которая вызывается внутри этой функции).# div1 в настоящее время виден.
- # div1 исчезнет
- # div2 исчезнет
Div 4 и 6 не будут затронуты.Div 3, 5 и 7 не будут затронуты, так как они (что касается моей страницы) не существуют.В этом примере каждое затухание может занять 3 секунды.
Я смутно осознаю, что $ ('# div2'). FadeIn (3000);будет означать эффект затухания для # div2, а аналог fadeOut () будет означать затухание.Как мне использовать jQuery (у меня есть 1.5.2 на моем сайте) для постепенного исчезновения # div1 и исчезновения # div2 в БЕЗ влияния на любой другой div, или проще сохранить код, так как он скрывает все мои div ипросто исчезнуть # div2?Пожалуйста, помните, я не эксперт по Javascript, я только начинающий, поэтому, пожалуйста, не оскорбляйте длину моего сценария или мою неспособность понять что-то, что, я думаю, было бы так просто.
Пожалуйста, помните, чтоУ меня до семи дел в навигации.Сценарий должен найти элемент div, который виден на основе щелкающей ссылки, и затемнить его, затем добавить в выбранный элемент div, и он не должен касаться ни одного из оставшихся элементов div.
Это достаточно просто, чтобыпонять и получить ответ?
РЕДАКТИРОВАТЬ @ 01:46 GMT, 30/04/2010
Спасибо, но это не похоже на то, что я хочу.Они выглядят так, как будто они работают, если бы было только два div, но помните, что их может быть до семи, и ссылка должна знать, какой div видим, а какой не учитывается.
У меня сейчас есть мой PHP-скриптсказать: «Если этот файл существует, то создайте этот div и примените к нему стиль visibleTab. В противном случае создайте его, но примените к нему стиль hiddenTab».Мой код Javascript (теперь jQuery) выглядит следующим образом:
function resetTabs() {
$("#postersandprint").removeClass("tabs visibleTab").removeClass("hiddenTab").addClass("hiddenTab");
$("#mobileapp").removeClass("tabs visibleTab").removeClass("hiddenTab").addClass("hiddenTab");
$("#stylesheets").removeClass("tabs visibleTab").removeClass("hiddenTab").addClass("hiddenTab");
$("#storyboards").removeClass("tabs visibleTab").removeClass("hiddenTab").addClass("hiddenTab");
$("#motionpieces").removeClass("tabs visibleTab").removeClass("hiddenTab").addClass("hiddenTab");
$("#interactives").removeClass("tabs visibleTab").removeClass("hiddenTab").addClass("hiddenTab");
$("#developmentwork").removeClass("tabs visibleTab").removeClass("hiddenTab").addClass("hiddenTab");
}
function showTab(tabname) {
resetTabs();
$('#'+tabname).fadeIn(3000);
$("#"+tabname).removeClass("hiddenTab").addClass("tabs visibleTab");
}
Принцип таков:
Моя ссылка имеет щелчок, который вызывает мою функцию showTab и помещает соответствующий идентификатор div внутри функции.Например:
<a href="javascript:;" onclick="showTab('mobileapp');">Link</a>
Функция скрывает все элементы div и затем исчезает в том, который называется 'tabname', в данном случае, 'mobileapp'.
Я уже говорилкаждая функция сброса удаляет любой класс с именем hiddenTab, а также любой класс с именами visibleTab и tabs перед добавлением класса hiddenTab как своего рода «отказоустойчивый» подход.Я также сказал своей функции showTab явно удалить класс «hiddenTab» из моей вкладки, который я хочу видеть, и добавить классы «вкладки» и «visibleTab».Я забыл, почему у меня есть два стиля, но я уверен, что причина придет ко мне.
Я хочу, чтобы мой скрипт jQuery знал, какой div виден, а какой нет из семи.# Div1 и # div2 были примером, но это мог быть любой div из выбора.Раньше, когда я использовал функцию document.getElementById, она работала отлично, я просто хотел добавить в скрипт постепенное исчезновение, чтобы он выглядел лучше.Теперь это работает, но только когда я перебираю div один раз.После этого он просто добавляет мой div под видимый, он не скрывает их.Я знаю, что что-то упустил, или я где-то напутал, но что я пропустил?Где я все испортил?