Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Delta Between Two Patch Sets: static/js/main.js

Issue 29322846: Issue 2826 - Hamburger menu not visible on all pages (Closed)
Left Patch Set: Created July 28, 2015, 11:51 a.m.
Right Patch Set: Created July 29, 2015, 1:13 p.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
Left: Side by side diff | Download
Right: Side by side diff | Download
« no previous file with change/comment | « static/css/main-mobile.css ('k') | templates/default.tmpl » ('j') | no next file with change/comment »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
LEFTRIGHT
1 "use strict"; 1 "use strict";
2 2
3 (function() 3 (function()
4 { 4 {
5 function escapeRegExp(string) 5 function escapeRegExp(string)
6 { 6 {
7 return string.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&"); 7 return string.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&");
8 } 8 }
9 9
10 function hasClass(element, className) 10 function hasClass(element, className)
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
58 language.onclick = function(event) 58 language.onclick = function(event)
59 { 59 {
60 if (hasClass(languageSelection, "visible")) 60 if (hasClass(languageSelection, "visible"))
61 return; 61 return;
62 62
63 addClass(languageSelection, "visible"); 63 addClass(languageSelection, "visible");
64 stopPropagation(event); 64 stopPropagation(event);
65 }; 65 };
66 } 66 }
67 67
68 function navigationClick(e) 68 function navigationClick(event)
Thomas Greiner 2015/07/29 11:06:59 Rename variable to "event" to (1) make it consiste
saroyanm 2015/07/29 13:55:50 Done.
69 { 69 {
70 var element = e.target; 70 var element = event.target;
71 while (true) 71 while (true)
72 { 72 {
73 if (!element) 73 if (!element)
74 return; 74 return false;
75 75
76 if (hasClass(element, "selected") || element.id == "hamburger") 76 if (hasClass(element, "selected") || element.id == "hamburger")
77 { 77 {
78 if ("querySelector" in document) 78 if ("querySelector" in document)
79 toggleClass(document.querySelector("header nav>ul"), "visible"); 79 {
Thomas Greiner 2015/07/29 11:06:59 Don't forget to call `event.preventDefault()` and
Thomas Greiner 2015/07/29 11:06:59 Detail: Missing whitespaces in selector string.
saroyanm 2015/07/29 13:55:50 Done.
saroyanm 2015/07/29 13:55:50 Done.
80 return; 80 event.preventDefault();
81 toggleClass(document.querySelector("header nav > ul"), "visible");
82 }
83 return false;
81 } 84 }
82 element = element.parentElement; 85 element = element.parentElement;
83 } 86 }
84 } 87 }
85 88
86 function initMenu() 89 function initMenu()
87 { 90 {
88 if ("querySelector" in document) 91 if ("querySelector" in document)
89 document.querySelector("nav").onclick = navigationClick; 92 document.querySelector("header nav").onclick = navigationClick;
Thomas Greiner 2015/07/29 11:06:59 No need to use `document.querySelector`. `document
saroyanm 2015/07/29 13:55:50 Just noticed that there are two nav elements on th
90 } 93 }
91 94
92 function initFooterSection(section) 95 function initFooterSection(section)
93 { 96 {
94 var header = section.getElementsByTagName("h1")[0]; 97 var header = section.getElementsByTagName("h1")[0];
95 header.onclick = function() 98 header.onclick = function()
96 { 99 {
97 toggleClass(section, "visible"); 100 toggleClass(section, "visible");
98 }; 101 };
99 } 102 }
100 103
101 function initFooter() 104 function initFooter()
102 { 105 {
103 var footerContent = document.getElementById("footer-content"); 106 var footerContent = document.getElementById("footer-content");
104 var footerNav = footerContent.getElementsByTagName("nav")[0]; 107 var footerNav = footerContent.getElementsByTagName("nav")[0];
105 var footerNavSections = footerNav.getElementsByTagName("section"); 108 var footerNavSections = footerNav.getElementsByTagName("section");
106 109
107 for (var i = 0; i < footerNavSections.length; i++) 110 for (var i = 0; i < footerNavSections.length; i++)
108 { 111 {
109 var section = footerNavSections[i]; 112 var section = footerNavSections[i];
110 initFooterSection(section); 113 initFooterSection(section);
111 } 114 }
112 } 115 }
113 116
114 initLanguageSelection(); 117 initLanguageSelection();
115 initMenu(); 118 initMenu();
116 initFooter(); 119 initFooter();
117 })(); 120 })();
LEFTRIGHT

Powered by Google App Engine
This is Rietveld