Enhancing user experience on your website often involves ensuring seamless navigation and readability. For Divi users, one such improvement is making accordion tabs scroll to the top of the page when clicked. This ensures that the content is immediately visible to the user, avoiding any confusion or the need for extra scrolling. This guide will show you how to achieve this specifically for the Divi Accordion module.
Make Divi Accordion Module Tabs Scroll to the Top of the Page using jQuery
This can be implemented in the following way:
Add Custom jQuery
- Go to your WordPress Admin Dashboard.
- Navigate to
Divi > Theme Options > Integration
. - Scroll down to
Add code to the <body> (good for tracking codes such as google analytics)
and paste the following script:
<script>
jQuery(document).ready(function($) {
$('.et_pb_accordion .et_pb_toggle_title').click(function() {
var title = $(this);
setTimeout(function()
var yOffset = -130; // Adjust this to suit your header size
var y = title.closest('.et_pb_toggle').offset().top + yOffset;
$('html, body').animate({ scrollTop: y }, 'slow');
}, 700); // Wait for previous tab to close to avoid offset issues
});
});
</script>
Adjust the Delay and Offset:
The setTimeout
delay is set to 700
milliseconds, which allows ample time for the accordion animation to finish. Adjust this value if your accordion animation duration is different.
The yOffset
is set to -130
. Adjust this value to suit your design needs. If you find the opened toggle is being hidden by your header after scrolling, use a larger negative offset. If the opened toggle is ending up too far down the page, use a smaller negative offset. If you aren't using a fixed header you might want to set this at, or close, to zero.
Save and Test:
Save the changes and test your Divi Accordion. Clicking on any tab title should now smoothly scroll to the top of the page, accounting for any layout shifts caused by closing accordion tabs above it.
0 Comments