Я хочу разделить эти функции. Они оба должны работать отдельно для событий клика:
ПЕРВАЯ ФУНКЦИЯ
$("ul.nav li").delegate("a", "click", function() {
window.location.hash = $(this).attr("href");
return false;
});
$(window).bind('hashchange', function(){
newHash = window.location.hash.substring(1);
if (newHash) {
ACTION A
});
$(window).trigger('hashchange');
});
ВТОРАЯ ФУНКЦИЯ
$("ul.subnav li").delegate("a", "click", function() {
window.location.hash = $(this).attr("href");
return false;
});
$(window).bind('hashchange', function(){
newHash = window.location.hash.substring(1);
if (newHash) {
ACTION B
});
$(window).trigger('hashchange');
});
Вот что произошло в ДЕЙСТВИИ А:
$mainContent
.find(".maincontent")
.fadeOut(200, function() {
$mainContent.hide().load(newHash + " .maincontent", function() {
$mainContent.fadeIn(200, function() {
$pageWrap.animate({
height: baseHeight + $mainContent.height() + "px"
});
});
$(".nav a").removeClass("active");
$(".nav a[href="+newHash+"]").addClass("active");
});
});
Проблема в том, что, если я щелкаю по функции Link of Second, всегда срабатывает первая функция.
Подробности того, что я пытаюсь сделать:
Сначала я строю свой сайт на .php, чтобы обслуживать людей без JavaScript. Теперь я хочу загружать «maincontent» динамически. Итак, я нашел этот скрипт, который я использую:
http://css -tricks.com / 6336-динамических страниц-замена-содержание /
Он отлично работает, если вы только хотите загрузить «maincontents».
Но мой сайт имеет суб-навигацию на некоторых страницах, где я хочу загрузить суб-контент. В .php использование этих сайтов включает. Поэтому я получаю контент по: href = "page2.php? Page = sub1"
Итак, когда я нажимаю на подссылки, они теперь также загружаются динамически, но сценарий также во всей области загрузки основного контента. Так что он на самом деле не загружает контент с помощью .load (), но субконтент включений действительно появляется.
Так что я думал просто отделить эту функцию. Первый просто загружает основной контент, а второй - для суб-навигации, чтобы обновить только область суб-контента. Я даже не понимаю, как этот скрипт динамически загружает включаемый контент, поскольку ссылка - это прямая ссылка page2.php? Page = sub1. Весь динамически загружаемый контент обычно выглядит как "#index", без окончания ".php".
Немного истории:
Я пытаюсь получить лучшую структуру страницы. Поставьте .php для пользователя, не являющегося пользователем JavaScript, а затем поместите поверх него динамические элементы загрузки. Всегда с целью сохранить навигацию браузера и ссылки браузера (для совместного использования) для каждой страницы в такте.
Я не эксперт по jQuery. Все, что я узнал до сих пор, было методом проб и ошибок и логического мышления. Но, конечно, у меня недостаточно фундаментальных знаний в JavaScript.
Итак, мой «логичный» вопрос:
Как я могу сказать ссылкам "nav" выполнить только их "$ (window) .bind" -Event и указать ссылкам "subnav" только для выполнения их "$ (window) .bin" -event.
Это правильное мышление?
Поскольку я уже пытался решить эту проблему почти последние 18 часов, я буду признателен за любую помощь.
Спасибо.
ВАЖНО:
С первой функцией я не только загружаю основной контент, но и меняю div на странице с каждой ссылкой. Так что для любого решения, которое может захотеть собрать его в одно, оно не будет работать, потому что они должны делать разные вещи в разных областях на странице. Вот почему мне действительно нужно вызывать window.bind при каждом клике nav / subnav.
Может кто-нибудь показать мне, как?