pub / zeitung

News-Aggregator in newspaper style as HTML/PDF/EPUB
git clone src.jayvii.de/pub/zeitung.git
Home | Log | Files | Exports | Refs | README | RSS

scale_fonts.html (1787B)


      1 <script>
      2 
      3   // set font sizes as constant
      4   const size_small = "75%";
      5   const size_medium = "100%";
      6   const size_large = "125%";
      7 
      8   // Function that adds menu entries for font size scalers
      9   function add_menu_entries() {
     10 
     11     // search TOC navigation
     12     var nav = document.querySelector("nav#TOC");
     13 
     14     // create buttons
     15     var small = create_scale_button(size_small, "Small");
     16     var medium = create_scale_button(size_medium, "Medium");
     17     var large = create_scale_button(size_large, "Large");
     18 
     19     // add buttons to menu
     20     nav.querySelector("ul").appendChild(small);
     21     nav.querySelector("ul").appendChild(medium);
     22     nav.querySelector("ul").appendChild(large);
     23   }
     24 
     25   // Function that creates font size scaler button
     26   function create_scale_button(size, label) {
     27 
     28     // create list item and companion anchor
     29     var list = document.createElement("li");
     30     var anchor = document.createElement("a");
     31 
     32     // add function and label
     33     anchor.href = "javascript:scale_fonts('" + size +"');";
     34     anchor.innerText = label;
     35 
     36     // add anchor to list object
     37     list.appendChild(anchor);
     38 
     39     // return object
     40     return(list);
     41   }
     42 
     43   // Function that scales font sizes
     44   function scale_fonts(size) {
     45     document.querySelector("body").style = "font-size:" + size;
     46   }
     47 
     48   // Add buttons to menu immediately
     49   setTimeout(add_menu_entries, 100);
     50 
     51   // scale fonts if query parameter is given
     52   if (document.location.search.match("size=small") != null) {
     53     setTimeout(function(){scale_fonts(size_small);}, 100);
     54   }
     55   if (document.location.search.match("size=medium") != null) {
     56     setTimeout(function(){scale_fonts(size_medium);}, 100);
     57   }
     58   if (document.location.search.match("size=large") != null) {
     59     setTimeout(function(){scale_fonts(size_large);}, 100);
     60   }
     61 
     62 </script>