Test-english.com

Design and development for performance and hight Organic Search Rankings 

Google page speed 95/98. Take the test
Organic keyword  top positioning: “English Tests”.  Check position ranking

See Global Rank here 

 

Test English Website

On test-english.com you will find everything you need to get ready for your English exam. We offer online practice on those areas that you most need to improve in order to obtain your English certificate: grammar, listening, reading and writing.

Developed own theme
Web design and Development
Date 
— Feb 2018
Link – test-english.com
Performance Test – PageSpeed Insights

 

See full report Here:
https://developers.google.com/speed/pagespeed/insights/?url=https%3A%2F%2Ftest-english.com%2F&tab=mobile

We Web

FollowLin.X.
...
window.addEventListener("load", initCursor); function initCursor() { const $img = document.querySelector("#site-header"); const { $width } = $img.getBoundingClientRect(); const $halfImgWidth = $width / 2; $img.addEventListener("mousemove", function (e) { const xPos = e.pageX - $img.offsetLeft; /*IE11 need this*/ //this.classList.remove("cursor-prev"); //this.classList.remove("cursor-next"); this.classList.remove("cursor-prev", "cursor-next"); if (xPos > $halfImgWidth) { this.classList.add("cursor-next"); } else { this.classList.add("cursor-prev"); } }); } // Cursor ICON substitition <-- // Button Ripple Effect // Function to add the ripple effect function addRippleEffect(event) { const button = event.currentTarget; const ripple = document.createElement("span"); const rect = button.getBoundingClientRect(); const size = Math.max(rect.width, rect.height); const x = event.clientX - rect.left - size / 2; const y = event.clientY - rect.top - size / 2; ripple.style.width = ripple.style.height = `${size}px`; ripple.style.left = `${x}px`; ripple.style.top = `${y}px`; ripple.classList.add("ripple"); button.appendChild(ripple); ripple.addEventListener("animationend", function() { ripple.remove(); }); } // Function to attach the ripple effect to buttons with given class names function attachRippleEffectToButtons(classNames) { classNames.forEach(className => { const buttons = document.querySelectorAll(`.${className}`); if (buttons.length === 0) { console.warn(`No elements found for class ${className}`); return; } buttons.forEach(button => { button.addEventListener("click", addRippleEffect); }); }); } // Attach the ripple effect when the document is ready document.addEventListener("DOMContentLoaded", function() { const targetClassNames = ["btn-mat", "another-class"]; attachRippleEffectToButtons(targetClassNames); function createCircleInner() { const circleInner = document.createElement('div'); circleInner.className = 'circle-inner'; const box = document.createElement('div'); box.className = 'box'; circleInner.appendChild(box); const smallCircle = document.createElement('div'); smallCircle.className = 'small-circle'; box.appendChild(smallCircle); for (let i = 1; i <= 10; i++) { const span = document.createElement('span'); span.style.setProperty('--i', i); box.appendChild(span); } document.body.appendChild(circleInner); } createCircleInner(); }); window.onbeforeunload = function leavingPage(){ console.log('leaving'); return null; } -->