diff --git a/src/librustdoc/html/render.rs b/src/librustdoc/html/render.rs
index ea0ebe4710079..b1cee0182052b 100644
--- a/src/librustdoc/html/render.rs
+++ b/src/librustdoc/html/render.rs
@@ -877,15 +877,23 @@ fn write_shared(
r#"var themes = document.getElementById("theme-choices");
var themePicker = document.getElementById("theme-picker");
+function showThemeButtonState() {{
+ themes.style.display = "none";
+ themePicker.style.borderBottomRightRadius = "3px";
+ themePicker.style.borderBottomLeftRadius = "3px";
+}}
+
+function hideThemeButtonState() {{
+ themes.style.display = "block";
+ themePicker.style.borderBottomRightRadius = "0";
+ themePicker.style.borderBottomLeftRadius = "0";
+}}
+
function switchThemeButtonState() {{
if (themes.style.display === "block") {{
- themes.style.display = "none";
- themePicker.style.borderBottomRightRadius = "3px";
- themePicker.style.borderBottomLeftRadius = "3px";
+ showThemeButtonState();
}} else {{
- themes.style.display = "block";
- themePicker.style.borderBottomRightRadius = "0";
- themePicker.style.borderBottomLeftRadius = "0";
+ hideThemeButtonState();
}}
}};
@@ -898,7 +906,7 @@ function handleThemeButtonsBlur(e) {{
(!related ||
(related.id !== "themePicker" &&
(!related.parentNode || related.parentNode.id !== "theme-choices")))) {{
- switchThemeButtonState();
+ hideThemeButtonState();
}}
}}