Fix the sustainer page expanding sections when no URL fragment provided

This commit is contained in:
Ben Sturmfels 2023-11-22 22:15:10 +11:00
parent fc21070d8d
commit e3a8c4bd70
Signed by: bsturmfels
GPG key ID: 023C05E2C9C068F0

View file

@ -162,6 +162,18 @@ $(document).ready(function() {
var $ourexpandablesection = $(this); var $ourexpandablesection = $(this);
$expandlink.on('click', function(event) { $expandlink.on('click', function(event) {
$expandlink.fadeOut('slow'); $expandlink.fadeOut('slow');
$ourexpandablesection.find('.read-more').each(function(index) { $(this).click(); }); }); $ourexpandablesection.find('.read-more').each(function(index) { $(this).click(); });
// Don't laugh. I'm running this twice because the expandable
// sections are hidden by actually their text from the DOM and
// storing it in a closure, to be reinstated later. That means when
// the above ".find('.read-more')" runs it only finds the one
// top-level .read-more element because the children have been
// temporarily removed from the page. After this top-level element
// has been clicked to restore it's body, we can run this again and
// .find() the children elements. I suspect this may have worked in
// the past if there were multiple sections all at the top-level,
// rather than being nested under "Our Year in Review".
$ourexpandablesection.find('.read-more').each(function(index) { $(this).click(); });
});
}); });
}); });