• File: scroll-to-top.js
  • Full Path: /home4/jdaxcom/j3dax.online/wp-content/themes/astra/inc/addons/scroll-to-top/assets/js/unminified/scroll-to-top.js
  • Date Modified: 02/18/2026 4:21 AM
  • File size: 1.43 KB
  • MIME-type: text/plain
  • Charset: utf-8
/**
 *  Scroll To Top
 *
 * @package Astra
 * @since  1.0.0
 */

document.addEventListener("DOMContentLoaded", function() {

	var masthead        = document.querySelector( '#page header' );
	var astScrollTop 	= document.getElementById( 'ast-scroll-top' );
	if ( astScrollTop ) {
		astScrollToTop = function () {

			var content = getComputedStyle(astScrollTop).content,
				device  = astScrollTop.dataset.onDevices;
				content = content.replace( /[^0-9]/g, '' );

			if( 'both' == device || ( 'desktop' == device && '769' == content ) || ( 'mobile' == device && '' == content ) ) {

				// Get current window / document scroll.
				var  scrollTop = window.pageYOffset || document.body.scrollTop;
				// If masthead found.
				if( masthead && masthead.length ){
					if (scrollTop > masthead.offsetHeight + 100) {
						astScrollTop.style.display = "block";
					} else {
						astScrollTop.style.display = "none";
					}
				}
				else{
					// If there is no masthead set default start scroll
					if ( window.pageYOffset > 300 ) {
						astScrollTop.style.display = "block";
					} else {
						astScrollTop.style.display = "none";
					}
				}
			} else {
				astScrollTop.style.display = "none";
			}
		};
		astScrollToTop();

		window.addEventListener('scroll', function () {
			astScrollToTop();
		});

		astScrollTop.onclick = function(e){
			e.preventDefault();

			window.scrollTo({
				top: 0,
				left: 0,
				behavior: 'smooth'
			});
		};
	}
});