Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var page; // Value of current page
- // History objects
- var state;
- var title;
- var path;
- function HistoryPush(state, title, path) {
- history.pushState(state, title, path);
- }
- $(document).ready(function() {
- // Get path name, remove back slashes using regex and uppercase the first letter
- page = window.location.pathname.replace(/.*\/(.)(.*?)\/?$/, (...m) => `${m[1].toUpperCase()}${m[2]}`);
- var SiteContent = $('#pageRoot'); // Content container
- var banner = $('.banner'); // Header container
- function loadContent(page) {
- // If page is empty, just has '/', 'Index' or is 'Home'
- if(!page || page.indexOf('/') > -1 || page.indexOf('Index') > -1 || page === 'Home') {
- banner.hide();
- page = 'Home';
- }
- // Load page
- $(SiteContent).load('/vendors/pages/' + page + '/' + page + '.php', function(response, status, xhr, ItemNumber) {
- if(status = 'success') {
- // Check if page needs inventory functions because certain things need to run when HTML loads
- if($('#Inventory').length) {
- banner.show();
- Inventory(); // Begin paginating in Pagination.js
- }
- if($('#Shows, #Contact').length) {
- banner.show();
- }
- }
- });
- // Toggle selected
- $('.navLink').removeClass('navClicked');
- $('.' + page + 'Link').addClass('navClicked');
- // Add space to Contact Us for heading
- switch(page) {
- case 'Contact':
- page = 'Contact Us';
- break;
- }
- $('#pageTitle').text(page); // Change page heading
- }
- // If document has SiteContent
- if(SiteContent.length) {
- $(document).on('click', '#navLink', function() {
- page = $(this).attr('href').replace(/^.*[\\\/]/, '');
- // Update history
- state = {page: page};
- title = null;
- path = '/' + page;
- HistoryPush(state, title, path);
- loadContent(page);
- return false;
- });
- $(window).on('popstate', function(event) {
- page = event.originalEvent.state.page;
- ItemNumber = event.originalEvent.state.ItemNumber;
- if(ItemNumber) {
- page = 'Inventory';
- if(!$('#Inventory').length) {
- loadContent(page);
- loadItem(ItemNumber);
- } else {
- loadItem(ItemNumber);
- }
- } else {
- loadContent(page);
- }
- });
- loadContent(page); // Run loadContent when document is ready and has SiteContent
- }
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement