Месяц назад я начал писать свой первый серьезный тяжелый веб-сайт переднего плана, идея заключалась в создании пользовательского веб-сайта с 1 страницей, который вмещал более 100 страниц.как я могу написать этот код jQuery надлежащим образом.
так что URL всегда будет таким же, но каждый раз пользователь нажимает любую ссылку на основе иерархии навигации, он будет анимировать, загружать данные с помощью ajax-вызова и добавлять хеш-код в URL-адрес, который можно использовать для обмена ссылками, я закончил использовать что-то вроде это:
ссылки:
<a data-alias="#treasurysales" rel="get_content.php?id=62" data-content="vert_21_63" data-target="vert_21_63_tar" href="">(Treasury Sales)
контейнер:
<li id="vert_2_19_tar" class="hs-home-li" style="display: none;">
вот как выглядит мой JS как:
$(document).ready(function(){
//hash handling
$("a[data-alias],li[data-alias]").live("click",hashHandler);
$("a[rel *= php]:not('.apply,a[data-direction],.bod')").live("click",ajaxHandler);
$(".static-link").live("click",static_link)
//main navigation
$(".horizontal-scroll > li").not(":first-child").hide();
$(".left-nav ul li a").live("click",vertNav);
$(".tab-nav ul li a[data-target]").live("click",horzNav);
$(".small",".hs-home-li").hide();
$(".small:first",".hs-home-li").show();
$(".tab-sub-nav a").live("click",tabNav);
// around 100 lines
})
вот как мой function.js выглядит
var vTarget,
lastvTarget = $("site-vertical-scroll>li:first"),
hTarget,
lasthTarget,
tabTarget, //around 15-20 var
var hashHandler = function(){};
var hash_location = function(){};
var hash_location = function(){}; //around 100 function
после достижения 1000 + строки JS я понял, что это не так, чтобы сделать это правильно. мой код очень зависит от dom, плотно соединенный, неподъемный.
Я прочитал несколько книг по oop js, шаблону, тестированию и лучшей практике, но мне действительно не хватает в архитектуре моего js.
я по достоинству оценят много, если кто-то может сказать мне, как писать выше код в собственно ООП способом