Difference between revisions of "Template:Waterloo/JS/citetag"
(update to handle references referenced multiple times, not debugged) |
m |
||
Line 8: | Line 8: | ||
// On first encounter, fill in all <cite> tags on the page with a certain reference | // On first encounter, fill in all <cite> tags on the page with a certain reference | ||
− | $( "cite" ).each( | + | $( "cite" ).each(function() { |
if ( $(this).html.indexOf("href") != -1 ) { // tag already been given link in reference list | if ( $(this).html.indexOf("href") != -1 ) { // tag already been given link in reference list | ||
} | } | ||
Line 27: | Line 27: | ||
citation_idx = citation_idx + 1; | citation_idx = citation_idx + 1; | ||
} | } | ||
− | ); | + | }); // end "cite".each |
$(".ref-link").each(function(i, obj) { | $(".ref-link").each(function(i, obj) { |
Revision as of 22:14, 13 September 2015
// Implements the tag. Requires a "ref" attribute that corresponds to one listed in references.json and that // references.json be included in the global scope
var refLinks = {};
$(document).ready(function() {
var citation_idx = 1; // On first encounter, fill in all <cite> tags on the page with a certain reference $( "cite" ).each(function() { if ( $(this).html.indexOf("href") != -1 ) { // tag already been given link in reference list } else { var refID = $(this).attr("ref"); // Add link with ordinal citation inside <cite> tag of all with refID $("cite#"+refID).each( function() { $(this).html( "<a class=\"ref-link\" href=\"#" + refID + "\">[" + citation_idx + "]</a>"); }) // Add refID to list scrollLinks[$(this).text()] = refID;
// Add appropriate li to the references list$("#reflist").append("
citation_idx = citation_idx + 1; } }); // end "cite".each
$(".ref-link").each(function(i, obj) { $(obj).click(function() { scrollToAnchor(scrollLinks[obj.text]); }); });
});
// for smooth scrolling function scrollToAnchor(aid){
var aTag = $('#'+aid); if(aTag.length){ $('html, body').animate({scrollTop:$(aTag).position().top}, 'slow'); }
}