Template:SYSU-Software/statics/js/loader.js

var pages = {

   "Home": { "url": "1" },
   "Description": { "url": "https://2018.igem.org/wiki/index.php?title=Template:SYSU-Software/statics/html/Projects/Description.html&action=raw&ctype=text/html" },
   "Design": { "url": "https://2018.igem.org/wiki/index.php?title=Template:SYSU-Software/statics/html/Projects/Design.html&action=raw&ctype=text/html" },
   "Feature": { "url": "https://2018.igem.org/wiki/index.php?title=Template:SYSU-Software/statics/html/Projects/Feature.html&action=raw&ctype=text/html" },
   "Techniques": { "url": "" },
   "Validation": { "url": "" },
   "Demo": { "url": "" },
   "Modeling-Overview": { "url": "" },
   "Searching-Engine": { "url": "" },
   "Simulation-Circuits": { "url": "" },
   "Evolution-Algorithm": { "url": "" },
   "Reference": { "url": "" },
   "HP-Overview": { "url": "" },
   "HP-Siliver": { "url": "" },
   "HP-Gold": { "url": "" },
   "Human-Practice": { "url": "" },
   "Public-Engagement": { "url": "" },
   "XMU": { "url": "" },
   "SCUT": { "url": "" },
   "WHU": { "url": "" },
   "SYSU": { "url": "" },
   "I-Overview": { "url": "https://2018.igem.org/wiki/index.php?title=Template:SYSU-Software/statics/html/Interlab/Overview.html&action=raw&ctype=text/html" },
   "Experiment": { "url": "https://2018.igem.org/wiki/index.php?title=Template:SYSU-Software/statics/html/Interlab/Results.html&action=raw&ctype=text/html" },
   "Material-Methods": { "url": "https://2018.igem.org/wiki/index.php?title=Template:SYSU-Software/statics/html/Interlab/MaterialMethods.html&action=raw&ctype=text/html" },
   "Results": { "url": "https://2018.igem.org/wiki/index.php?title=Template:SYSU-Software/statics/html/Interlab/Results.html&action=raw&ctype=text/html" },
   "Medal-Overview": { "url": "" },
   "Medal-Bronze": { "url": "" },
   "Medal-Sliver": { "url": "" },
   "Medal-Gold": { "url": "" },
   "T-Overview": { "url": "" },
   "Members": { "url": "" },
   "Advisors": { "url": "" },
   "Instructors": { "url": "" },
   "Notebook": { "url": "" },
   "Notebook": { "url": "" },
   "A-Overview": { "url": "" },
   "Group": { "url": "" },
   "Attribution": { "url": "" },
   "Acknowlegement": { "url": "" }

}

var pageList = [];

var nowLoadingID = 0; var onNextPageShow = false; var isAllowNextPage = false;

function initTopBar(page) {

   // main menu
   $('#' + page + '>.page-container')
       .visibility({
           offset: -5,
           observeChanges: true,
           once: false,
           context: $('#' + page),
           continuous: true,
           onTopPassed: function () {
               requestAnimationFrame(function () {
                   $('.following.bar')
                       .addClass('light fixed')
                       .find('.menu')
                       .removeClass('inverted')
                       ;
                   $('.following .additional.item')
                       .transition('scale in', 750)
                       ;
               });
           },
           onTopPassedReverse: function () {
               requestAnimationFrame(function () {
                   $('.following.bar')
                       .removeClass('light fixed')
                       .find('.menu')
                       .addClass('inverted')
                       .find('.additional.item')
                       .transition('hide')
                       ;
               });
           },
           onBottomVisible: function () {
               if (onNextPageShow) return;
               onNextPageShow = true;
               setTimeout(() => {
                   isAllowNextPage = true;
                   $(".next-page").animate({
                       'opacity': '0.8'
                   }, 500);
               }, 500);
           },
           onBottomVisibleReverse: function () {
               $(".next-page").animate({
                   'opacity': '0'
               }, 200);
               onNextPageShow = false;
               isAllowNextPage = false;
           }
       });

}

function loadPages() {

   for (let page in pages) {
       pageList.push(page);
       if (pages[page].url === "") continue;
       $.get(pages[page].url, function (data) {
           $('#' + page).html(data);
           nowLoadingID += 1;
           initTopBar(page);
       });
       
   }

}

loadPages();

$('.ui.sticky')

   .sticky()
   ;