Ignore:
Timestamp:
2017-02-15T03:56:51+13:00 (7 years ago)
Author:
Georgiy Litvinov
Message:

JS code for links between sections.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • main/trunk/greenstone3/web/interfaces/default/js/document_scripts.js

    r31050 r31416  
    310310    }
    311311}
    312 
     312function focusAnchor(sectionID, level, tocDisabled, anchor)
     313{
     314    if(!level)
     315    {
     316        level = 0;
     317    }
     318    var parts = sectionID.split(".");
     319    if(level >= parts.length)
     320    {
     321        var target = document.getElementById(anchor);
     322        if (!target){
     323            target = document.getElementsByName(anchor)[0];
     324        }
     325        var topVal = $(target).offset().top - 50;
     326        $('html, body').stop().animate({scrollTop: topVal}, 1000);
     327        window.location.hash = anchor;
     328        return;
     329    }
     330   
     331    var idToExpand = "";
     332    for(var i = 0; i < level + 1; i++)
     333    {
     334        if(i > 0)
     335        {
     336            idToExpand += ".";
     337        }
     338   
     339        idToExpand += parts[i];
     340    }
     341   
     342    if(!isSectionExpanded(idToExpand))
     343    {
     344        toggleSection(idToExpand, function(success)
     345        {
     346            if(success)
     347            {
     348                focusAnchor(sectionID, level + 1, tocDisabled, anchor);
     349            }
     350        }, tocDisabled);
     351    }
     352    else
     353    {
     354        focusAnchor(sectionID, level + 1, tocDisabled, anchor);
     355    }
     356}
    313357function expandOrCollapseAll(expand)
    314358{
Note: See TracChangeset for help on using the changeset viewer.