1<!DOCTYPE html><!-- Last Published: Fri Oct 02 2026 13:59:15 GMT+0000 (Coordinated Universal Time) --><html data-wf-domain="jan-elly.webflow.io" data-wf-page="68afd3e71a2eedb8501864bb" data-wf-site="68abe56631e3e7b0a852b5aa" lang="en"><head><meta charset="utf-8"/><link href="https://cdn.prod.website-files.com" rel="preconnect" crossorigin="anonymous"/><title>Client Testimonials | Primary English Tuition Singapore</title><meta content="Real testimonials from Jan & Elly families across 30+ years. See how primary English tuition changed their children's future. Book your assessment today!" name="description"/><meta content="Client Testimonials | Primary English Tuition Singapore" property="og:title"/><meta content="Real testimonials from Jan & Elly families across 30+ years. See how primary English tuition changed their children's future. Book your assessment today!" property="og:description"/><meta content="https://cdn.prod.website-files.com/68abe56631e3e7b0a852b5aa/68bc01d7d39993f4dd8ce0ca_jan-elly.webflow.io_testimonials.webp" property="og:image"/><meta content="Client Testimonials | Primary English Tuition Singapore" name="twitter:title"/><meta content="Real testimonials from Jan & Elly families across 30+ years. See how primary English tuition changed their children's future. Book your assessment today!" name="twitter:description"/><meta content="https://cdn.prod.website-files.com/68abe56631e3e7b0a852b5aa/68bc01d7d39993f4dd8ce0ca_jan-elly.webflow.io_testimonials.webp" name="twitter:image"/><meta property="og:type" content="website"/><meta content="summary_large_image" name="twitter:card"/><meta content="width=device-width, initial-scale=1" name="viewport"/><link href="https://cdn.prod.website-files.com/68abe56631e3e7b0a852b5aa/css/jan-elly.webflow.shared.3f4858755.css" rel="stylesheet" type="text/css" integrity="sha384-P0hYdVSnGrPIgEsgiA/dnAD18FNqhZw8igqvHYf/rNae9Ax0PxM3JVxmEDfXWO4k" crossorigin="anonymous"/><link href="https://fonts.googleapis.com" rel="preconnect"/><link href="https://fonts.gstatic.com" rel="preconnect" crossorigin="anonymous"/>
1<script src="https://ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js" type="text/javascript"></script>
1<script type="text/javascript">WebFont.load({ google: { families: ["Varela Round:400","Varela:400","League Spartan:300,400,500,600,700","Poppins:300,400,500,600,700"] }});</script>
1<script type="text/javascript">!function(o,c){var n=c.documentElement,t=" w-mod-";n.className+=t+"js",("ontouchstart"in o||o.DocumentTouch&&c instanceof DocumentTouch)&&(n.className+=t+"touch")}(window,document);</script>
1<link href="https://cdn.prod.website-files.com/68abe56631e3e7b0a852b5aa/68aeb3f088f56d5c1dd12f80_Fav%20Icon%2020%20pxl%20(1).svg" rel="shortcut icon" type="image/x-icon"/><link href="https://cdn.prod.website-files.com/68abe56631e3e7b0a852b5aa/68aeb4132080952aea87242c_256.svg" rel="apple-touch-icon"/><link rel="preconnect" href="https://fonts.googleapis.com"> 2<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 3<!-- Link Swiper's CSS --> 4 <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css" /> 5<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=League+Spartan:300,regular,500,600,700,800,900%7CPoppins:regular,500,600" media="all">
6<script>
vendor: 331 bytes, lines 6-14
6(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 7 8new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 9 10j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 11 12'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 13 14})(window,document,'script','dataLayer','
14GTM-TN6JM5XT
vendor: 3 bytes, line 14
14');
14</script>
14 15 16 17<style> 18 .w-webflow-badge { 19display:none !important; 20} 21 body , html { 22 font-family: League Spartan, sans-serif; 23 } 24 25.events-list > div:last-child a { 26 border-bottom: 0; 27} 28.parents-review .swiper-pagination-bullet { 29width:15px !important; 30height:15px !important; 31margin:0 !important; 32} 33.parents-review .swiper-pagination-bullet-active{ 34background:#204192 !important; 35} 36.parents-review .swiper-button-next:after, .parents-review .swiper-button-prev:after { 37 font-family: swiper-icons; 38 font-size: 28px; 39 font-weight: 900; 40 color: #204192; 41 -webkit-text-stroke: 1px; 42 line-height: 1; 43 } 44 45.parents-review .swiper-slide{ 46 opacity:20%; 47 transform:scale(0.95); 48 height:auto !important; 49} 50 51.parents-review .swiper-slide-active{ 52 opacity:100% !important; 53 transform:scale(1) 54 55 } 56@media (max-width:767px){ 57.parents-review .swiper-pagination-bullet { 58width:8px !important; 59height:8px !important; 60padding:6px; 61} 62.parents-review .swiper-pagination{ 63gap:12px; 64} 65.parents-review .swiper-button-next:after, .parents-review .swiper-button-prev:after { 66 font-size: 20px; 67 } 68} 69.swiper-button-prev , .swiper-button-next{ 70position:relative !important; 71margin-top:0 !important; 72} 73 74</style> 75
76<script type="application/ld+json"> 77{ 78 "@context": "https://schema.org", 79 "@type": "Corporation", 80 "name": "Jan & Elly", 81 "alternateName": "Jan & Elly - Primary English Tuition Singapore", 82 "url": "https://www.jan-elly.com/", 83 "logo": "https://cdn.prod.website-files.com/68abe56631e3e7b0a852b5aa/68abe6a1afa6258cacb145de_21f122be7225dbdd9089119c6574c374_jan%26elly.webp", 84 "contactPoint": { 85 "@type": "ContactPoint", 86 "telephone": "+65 6481 8892", 87 "contactType": "customer service", 88 "areaServed": "SG" 89 }, 90 "sameAs": [ 91 "https://www.facebook.com/janandelly.sch", 92 "https://www.instagram.com/janandellysch/" 93 ] 94} 95</script>
95 96
97<script type="application/ld+json"> 98{ 99 "@context": "https://schema.org", 100 "@type": "LocalBusiness", 101 "name": "Jan & Elly", 102 "image": "https://cdn.prod.website-files.com/68abe56631e3e7b0a852b5aa/68abe6a1afa6258cacb145de_21f122be7225dbdd9089119c6574c374_jan%26elly.webp", 103 "@id": "", 104 "url": "https://www.jan-elly.com/", 105 "telephone": "+65 6481 8892", 106 "address": { 107 "@type": "PostalAddress", 108 "streetAddress": "1 Seletar Rd, #02-10, Greenwich V", 109 "addressLocality": "Singapore", 110 "postalCode": "807011", 111 "addressCountry": "SG" 112 }, 113 "geo": { 114 "@type": "GeoCoordinates", 115 "latitude": 1.3390447, 116 "longitude": 103.7789794 117 }, 118 "openingHoursSpecification": [{ 119 "@type": "OpeningHoursSpecification", 120 "dayOfWeek": [ 121 "Monday", 122 "Tuesday", 123 "Wednesday", 124 "Thursday", 125 "Friday" 126 ], 127 "opens": "12:00", 128 "closes": "18:00" 129 },{ 130 "@type": "OpeningHoursSpecification", 131 "dayOfWeek": [ 132 "Saturday", 133 "Sunday" 134 ], 135 "opens": "09:00", 136 "closes": "18:00" 137 }] 138} 139</script>
139 140
141<script type="application/ld+json"> 142{ 143 "@context": "https://schema.org", 144 "@type": "Organization", 145 "name": "Jan & Elly", 146 "alternateName": "Jan & Elly - Primary English Tuition Singapore", 147 "url": "https://www.jan-elly.com/", 148 "logo": "https://cdn.prod.website-files.com/68abe56631e3e7b0a852b5aa/68abe6a1afa6258cacb145de_21f122be7225dbdd9089119c6574c374_jan%26elly.webp", 149 "contactPoint": { 150 "@type": "ContactPoint", 151 "telephone": "+65 6481 8892", 152 "contactType": "customer service", 153 "areaServed": "SG" 154 }, 155 "sameAs": [ 156 "https://www.facebook.com/janandelly.sch", 157 "https://www.instagram.com/janandellysch/" 158 ] 159} 160</script>
160<!-- [Attributes by Finsweet] CMS Load -->
161<script async src="https://cdn.jsdelivr.net/npm/@finsweet/attributes-cmsload@1/cmsload.js"></script>
161 162 163<style> 164 165#button { transition: all .3s, opacity .5s, visibility .5s; opacity: 0; visibility: hidden; z-index: 100;} 166#button.show { opacity: 1; visibility: visible;} 167</style></head><body class="body"><section class="common-hero"><section class="navbar"><div class="w-layout-blockcontainer container w-container"><div class="nav-desktop"><a href="/" class="nav-page-logo w-inline-block"><img src="https://cdn.prod.website-files.com/68abe56631e3e7b0a852b5aa/68abe6a1afa6258cacb145de_21f122be7225dbdd9089119c6574c374_jan%26elly.webp" loading="lazy" sizes="(max-width: 767px) 100vw, (max-width: 991px) 95vw, 940px" srcset="https://cdn.prod.website-files.com/68abe56631e3e7b0a852b5aa/68abe6a1afa6258cacb145de_21f122be7225dbdd9089119c6574c374_jan%26elly-p-500.png 500w, https://cdn.prod.website-files.com/68abe56631e3e7b0a852b5aa/68abe6a1afa6258cacb145de_21f122be7225dbdd9089119c6574c374_jan%26elly-p-800.png 800w, https://cdn.prod.website-files.com/68abe56631e3e7b0a852b5aa/68abe6a1afa6258cacb145de_21f122be7225dbdd9089119c6574c374_jan%26elly.webp 1280w" alt="jan&elly" class="jan-elly"/></a><div class="nav-links-wrapper"><a href="/" class="nav-link">Home</a><div data-hover="true" data-delay="0" class="nav-dropdown w-dropdown"><div class="dropdown-toggle w-dropdown-toggle"><div class="dropdown-title">About Us</div><div class="icon w-icon-dropdown-toggle"></div></div><nav class="dropdown-list w-dropdown-list"><a aria-label="view our story" href="/our-story" class="dropdown-links w-dropdown-link">Our Story</a><a href="/testimonials" aria-current="page" class="dropdown-links w-dropdown-link w--current">Testimonials</a><a href="/our-teachers" class="dropdown-links last-link w-dropdown-link">Our Teachers</a></nav></div><div data-hover="true" data-delay="0" class="nav-dropdown w-dropdown"><div class="dropdown-toggle w-dropdown-toggle"><div class="dropdown-title">Programmes</div><div class="icon w-icon-dropdown-toggle"></div></div><nav class="dropdown-list w-dropdown-list"><a href="/phonics-classes-singapore" class="dropdown-links w-dropdown-link">Phonics Programmes(N2-K2)</a><a href="/k1-p1-classes-singapore" class="dropdown-links w-dropdown-link">ReadWrite Programme(K2-P1)</a><a href="/primary-english-tuition-singapore" class="dropdown-links w-dropdown-link">Primary English Programmes(P1-P6)</a><a href="/english-composition-classes-singapore" class="dropdown-links w-dropdown-link">Primary Composition Programmes(P2-P6)</a><a href="/holiday-programme-singapore" class="dropdown-links w-dropdown-link">Holiday Programmes</a></nav></div><div data-hover="true" data-delay="0" class="nav-dropdown w-dropdown"><div class="dropdown-toggle w-dropdown-toggle"><div class="dropdown-title">Resources</div><div class="icon w-icon-dropdown-toggle"></div></div><nav class="dropdown-list w-dropdown-list"><a href="/class-schedules" class="dropdown-links w-dropdown-link">Class Schedules</a><a href="/term-dates" class="dropdown-links w-dropdown-link">Term Dates</a><a href="/blog" class="dropdown-links w-dropdown-link">Blogs</a><a href="/faqs" class="dropdown-links w-dropdown-link">FAQs</a><a href="/upcoming-events" class="dropdown-links last-link w-dropdown-link">Events</a><a href="/toa-payoh-opening" class="dropdown-links last-link w-dropdown-link">News</a></nav></div><div data-hover="true" data-delay="0" class="nav-dropdown w-dropdown"><div class="dropdown-toggle w-dropdown-toggle"><div class="dropdown-title">Locations</div><div class="icon w-icon-dropdown-toggle"></div></div><nav class="dropdown-list w-dropdown-list"><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><a href="/locations/bukit-timah-plaza" class="dropdown-links w-dropdown-link">Bukit Timah Plaza</a></div><div role="listitem" class="w-dyn-item"><a href="/locations/greenwich-v" class="dropdown-links w-dropdown-link">Greenwich V</a></div><div role="listitem" class="w-dyn-item"><a href="/locations/imall" class="dropdown-links w-dropdown-link">iMall</a></div><div role="listitem" class="w-dyn-item"><a href="/locations/toa-payoh-cc" class="dropdown-links w-dropdown-link">Toa Payoh CC</a></div><div role="listitem" class="w-dyn-item"><a href="/locations/woodleigh-mall" class="dropdown-links w-dropdown-link">Woodleigh Mall</a></div></div></div></nav></div></div><div class="div-block"><a href="/contact-us" class="blue-btn nav-btn mt-0 cta-btn w-inline-block"><p class="paragraph">Contact Us</p><div class="code-embed w-embed"><svg width="17" height="24" viewBox="0 0 17 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 168<g clip-path="url(#clip0_1003_35)"> 169<path d="M9.92578 7L14.9258 12L9.92578 17" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 170</g> 171<g clip-path="url(#clip1_1003_35)"> 172<path d="M3.92578 7L8.92578 12L3.92578 17" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 173</g> 174<defs> 175<clipPath id="clip0_1003_35"> 176<rect width="24" height="12.2711" fill="currentColor" transform="matrix(0 -1 -1 0 16.9258 24)"/> 177</clipPath> 178<clipPath id="clip1_1003_35"> 179<rect width="24" height="12.2711" fill="currentColor" transform="matrix(0 -1 -1 0 13.8594 24)"/> 180</clipPath> 181</defs> 182</svg></div></a><img src="https://cdn.prod.website-files.com/68abe56631e3e7b0a852b5aa/68ac00b46c6b7c5078c38496_menu.svg" loading="lazy" data-w-id="f986514d-f850-c54e-b9b1-f53a1928841c" alt="" class="menu-icon open_navs"/></div></div></div><div class="nav-mob"><div class="mob-nav-links-wrapper"><div fs-accordion-single="true" fs-accordion-element="group" fs-accordion-initial="none" class="fs_accordion-2_component"><div class="fs_accordion-2_embed w-embed w-script"><!-- [Finsweet Attributes] Accordion -->
183<script>(()=>{var t="https://cdn.jsdelivr.net/npm/@finsweet/attributes-accordion@1/accordion.js",e=document.querySelector(`script[src="${t}"]`);e||(e=document.createElement("script"),e.async=!0,e.src=t,document.head.append(e));})();</script>
183</div><div fs-accordion-element="accordion" class="fs_accordion-2_item"><div id="accordion-2-header-1" tabindex="0" role="button" aria-controls="accordion-2-content-1" aria-expanded="false" fs-accordion-element="trigger" class="fs_accordion-2_header nav-accordian"><div class="fs_accordion-2_label">About Us</div><div fs-accordion-element="arrow" class="fs_accordion-2_arrow-wrapper is-active-accordion"><div class="fs_accordion-2_icon w-icon-dropdown-toggle"></div></div></div><div id="accordion-2-content-1" aria-labelledby="accordion-2-header-1" fs-accordion-element="content" class="fs_accordion-2_content"><div class="fs_accordion-2_body link-accordian"><div><a href="/our-story" class="mob-nav-link">Our Story</a><a href="/our-teachers" class="mob-nav-link">Our Teachers</a><a href="/testimonials" aria-current="page" class="mob-nav-link last-link w--current">Testimonials</a></div></div></div></div><div fs-accordion-element="accordion" class="fs_accordion-2_item"><div id="accordion-2-header-1" tabindex="0" role="button" aria-controls="accordion-2-content-1" aria-expanded="false" fs-accordion-element="trigger" class="fs_accordion-2_header nav-accordian"><div class="fs_accordion-2_label">Programmes</div><div fs-accordion-element="arrow" class="fs_accordion-2_arrow-wrapper is-active-accordion"><div class="fs_accordion-2_icon w-icon-dropdown-toggle"></div></div></div><div id="accordion-2-content-1" aria-labelledby="accordion-2-header-1" fs-accordion-element="content" class="fs_accordion-2_content"><div class="fs_accordion-2_body link-accordian"><div><a href="/phonics-classes-singapore" class="mob-nav-link">Phonics</a><a href="/k1-p1-classes-singapore" class="mob-nav-link">ReadWrite</a><a href="/primary-english-old" class="mob-nav-link">Primary English</a><a href="/english-composition-classes-singapore" class="mob-nav-link">Primary Composition</a><a href="/holiday-programme" class="mob-nav-link">Holiday programme</a></div></div></div></div><div fs-accordion-element="accordion" class="fs_accordion-2_item"><div id="accordion-2-header-1" tabindex="0" role="button" aria-controls="accordion-2-content-1" aria-expanded="false" fs-accordion-element="trigger" class="fs_accordion-2_header nav-accordian"><div class="fs_accordion-2_label">Resources</div><div fs-accordion-element="arrow" class="fs_accordion-2_arrow-wrapper is-active-accordion"><div class="fs_accordion-2_icon w-icon-dropdown-toggle"></div></div></div><div id="accordion-2-content-1" aria-labelledby="accordion-2-header-1" fs-accordion-element="content" class="fs_accordion-2_content"><div class="fs_accordion-2_body link-accordian"><div><a href="/class-schedules" class="mob-nav-link">Timetable</a><a data-w-id="f986514d-f850-c54e-b9b1-f53a19288450" href="/term-dates" class="mob-nav-link closes">Term Dates</a><a data-w-id="f986514d-f850-c54e-b9b1-f53a19288452" href="/blog" class="mob-nav-link closes">Blogs</a><a data-w-id="e11ff2b3-4988-d4a6-b8ca-463d480922d1" href="/upcoming-events" class="mob-nav-link closes">Events</a><a data-w-id="f986514d-f850-c54e-b9b1-f53a19288454" href="/faqs" class="mob-nav-link last-link closes">FAQs</a></div></div></div></div><div fs-accordion-element="accordion" class="fs_accordion-2_item"><div id="accordion-2-header-1" tabindex="0" role="button" aria-controls="accordion-2-content-1" aria-expanded="false" fs-accordion-element="trigger" class="fs_accordion-2_header nav-accordian"><div class="fs_accordion-2_label">Locations</div><div fs-accordion-element="arrow" class="fs_accordion-2_arrow-wrapper is-active-accordion"><div class="fs_accordion-2_icon w-icon-dropdown-toggle"></div></div></div><div id="accordion-2-content-1" aria-labelledby="accordion-2-header-1" fs-accordion-element="content" class="fs_accordion-2_content"><div class="fs_accordion-2_body link-accordian"><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><a href="/locations/bukit-timah-plaza" class="mob-nav-link">Bukit Timah Plaza</a></div><div role="listitem" class="w-dyn-item"><a href="/locations/greenwich-v" class="mob-nav-link">Greenwich V</a></div><div role="listitem" class="w-dyn-item"><a href="/locations/imall" class="mob-nav-link">iMall</a></div><div role="listitem" class="w-dyn-item"><a href="/locations/toa-payoh-cc" class="mob-nav-link">Toa Payoh CC</a></div><div role="listitem" class="w-dyn-item"><a href="/locations/woodleigh-mall" class="mob-nav-link">Woodleigh Mall</a></div></div></div></div></div></div></div><a href="/contact-us" class="blue-btn nav-btn block cta-btn w-inline-block"><p class="paragraph">Contact Us</p><div class="code-embed w-embed"><svg width="17" height="24" viewBox="0 0 17 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 184<g clip-path="url(#clip0_1003_35)"> 185<path d="M9.92578 7L14.9258 12L9.92578 17" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 186</g> 187<g clip-path="url(#clip1_1003_35)"> 188<path d="M3.92578 7L8.92578 12L3.92578 17" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 189</g> 190<defs> 191<clipPath id="clip0_1003_35"> 192<rect width="24" height="12.2711" fill="currentColor" transform="matrix(0 -1 -1 0 16.9258 24)"/> 193</clipPath> 194<clipPath id="clip1_1003_35"> 195<rect width="24" height="12.2711" fill="currentColor" transform="matrix(0 -1 -1 0 13.8594 24)"/> 196</clipPath> 197</defs> 198</svg></div></a></div><img src="https://cdn.prod.website-files.com/68abe56631e3e7b0a852b5aa/68ac01e4af6cdf9c0786253d_close.svg" loading="lazy" data-w-id="f986514d-f850-c54e-b9b1-f53a19288465" alt="" class="close-icon closes"/><a href="#" class="mob-site-logo w-inline-block"><img src="https://cdn.prod.website-files.com/68abe56631e3e7b0a852b5aa/68abe6a1afa6258cacb145de_21f122be7225dbdd9089119c6574c374_jan%26elly.webp" loading="lazy" sizes="(max-width: 1279px) 100vw, 1280px" srcset="https://cdn.prod.website-files.com/68abe56631e3e7b0a852b5aa/68abe6a1afa6258cacb145de_21f122be7225dbdd9089119c6574c374_jan%26elly-p-500.png 500w, https://cdn.prod.website-files.com/68abe56631e3e7b0a852b5aa/68abe6a1afa6258cacb145de_21f122be7225dbdd9089119c6574c374_jan%26elly-p-800.png 800w, https://cdn.prod.website-files.com/68abe56631e3e7b0a852b5aa/68abe6a1afa6258cacb145de_21f122be7225dbdd9089119c6574c374_jan%26elly.webp 1280w" alt="jan&elly" class="jan-elly"/></a></div></section><div class="hero-section"><h1 class="hero-common-heading"><strong>Testimonials</strong></h1></div><img src="https://cdn.prod.website-files.com/68abe56631e3e7b0a852b5aa/68aed3f07c78c3d2dbc0442c_hero%20section.webp" loading="eager" sizes="(max-width: 4320px) 100v
198w, 4320px" srcset="https://cdn.prod.website-files.com/68abe56631e3e7b0a852b5aa/68aed3f07c78c3d2dbc0442c_hero%20section-p-500.webp 500w, https://cdn.prod.website-files.com/68abe56631e3e7b0a852b5aa/68aed3f07c78c3d2dbc0442c_hero%20section-p-800.webp 800w, https://cdn.prod.website-files.com/68abe56631e3e7b0a852b5aa/68aed3f07c78c3d2dbc0442c_hero%20section-p-1080.webp 1080w, https://cdn.prod.website-files.com/68abe56631e3e7b0a852b5aa/68aed3f07c78c3d2dbc0442c_hero%20section-p-1600.webp 1600w, https://cdn.prod.website-files.com/68abe56631e3e7b0a852b5aa/68aed3f07c78c3d2dbc0442c_hero%20section-p-2000.webp 2000w, https://cdn.prod.website-files.com/68abe56631e3e7b0a852b5aa/68aed3f07c78c3d2dbc0442c_hero%20section-p-2600.webp 2600w, https://cdn.prod.website-files.com/68abe56631e3e7b0a852b5aa/68aed3f07c78c3d2dbc0442c_hero%20section.webp 4320w" alt="Group of young children sitting attentively at desks in a classroom." class="hero-bg-second"/></section><section class="have-to-say"><div class="w-layout-blockcontainer container w-container"><h2 class="sub-heading">Read What Our Parents Have to Say</h2><div class="reviews-wrapper w-dyn-list"><div fs-cmsload-element="list" role="list" class="collection-list-4 w-dyn-items"><div role="listitem" class="w-dyn-item"><div class="say-card"><div class="phonics-wraper"><img loading="lazy" src="https://cdn.prod.website-files.com/68abe56631e3e7b0a852b5aa/68b0299d1ab8de6772cc647a_Quotes.svg" alt="icon" class="image-27"/><img loading="lazy" src="https://cdn.prod.website-files.com/68abe56631e3e7b0a852b5aa/68b0299d1ab8de6772cc647b_Quotes%20(1).svg" alt="icon" class="say-icon"/><div class="review-text w-richtext"><p>Our family has been with this tuition centre for over 10 years, and itâs truly been a wonderful experience. The teachers are dedicated and genuinely care about each studentâs progress. Iâve seen my kids grow in confidence and enjoy learning, thanks to their teachersâ encouragement and dedication.The admin staff are also friendly, organised, and always willing to help, making communication smooth for parents. It really feels like a community that grows with your child.</p></div></div><div class="image-wraaper"><img loading="lazy" src="https://cdn.prod.website-files.com/68aecf529c8d9770b48d1a91/68b51e9d2fbb2acaddd7a921_stars.svg" alt="star"/><div class="div-block-76"><p class="paragraph-38">Serene Ng</p><img loading="lazy" src="https://cdn.prod.website-files.com/68abe56631e3e7b0a852b5aa/68b522634daa71faf08a5411_verified.svg" alt="img" class="blue-tik"/></div><img loading="lazy" src="https://cdn.prod.website-files.com/68aecf529c8d9770b48d1a91/68b51ebab2f93665e64498ef_logos_google.svg" alt="google" class="google"/></div></div></div><div role="listitem" class="w-dyn-item"><div class="say-card"><div class="phonics-wraper"><img loading="lazy" src="https://cdn.prod.website-files.com/68abe56631e3e7b0a852b5aa/68b0299d1ab8de6772cc647a_Quotes.svg" alt="icon" class="image-27"/><img loading="lazy" src="https://cdn.prod.website-files.com/68abe56631e3e7b0a852b5aa/68b0299d1ab8de6772cc647b_Quotes%20(1).svg" alt="icon" class="say-icon"/><div class="review-text w-richtext"><p>Highly recommend Jan and Elly for English enrichment classes! From not knowing how to read books to knowing how to recognise words and having great interest in reading and writing. Itâs such a wonderful change in my girl and we are really grateful to have such nurturing teachers and administrator in the centre :) looking forward to enrolling my other kid next year!</p></div></div><div class="image-wraaper"><img loading="lazy" src="https://cdn.prod.website-files.com/68aecf529c8d9770b48d1a91/68b51e9d2fbb2acaddd7a921_stars.svg" alt="star"/><div class="div-block-76"><p class="paragraph-38">Ning</p><img loading="lazy" src="https://cdn.prod.website-files.com/68abe56631e3e7b0a852b5aa/68b522634daa71faf08a5411_verified.svg" alt="img" class="blue-tik"/></div><img loading="lazy" src="https://cdn.prod.website-files.com/68aecf529c8d9770b48d1a91/68b51ebab2f93665e64498ef_logos_google.svg" alt="google" class="google"/></div></div></div><div role="listitem" class="w-dyn-item"><div class="say-card"><div class="phonics-wraper"><img loading="lazy" src="https://cdn.prod.website-files.com/68abe56631e3e7b0a852b5aa/68b0299d1ab8de6772cc647a_Quotes.svg" alt="icon" class="image-27"/><img loading="lazy" src="https://cdn.prod.website-files.com/68abe56631e3e7b0a852b5aa/68b0299d1ab8de6772cc647b_Quotes%20(1).svg" alt="icon" class="say-icon"/><div class="review-text w-richtext"><p>Highly recommend parents who want kids to read to join Jan & Ellyï¼My 5 years-old learns phonic sounds in preschool but canât read. To enable her to read, we sent her to an established reading centre which has many branches in SG. Kid attended for half a year but still canât read. In the end we switched kid to Jan & Elly, she can blend words and read after just attending the 2nd phonics class with Ms Chelsey. We observe our kid reading ability, confidence, interest getting better and better after each session with Ms Chelsey. Kid also often correct our wrong pronunciation of words. My kid looks forward to attending her weekly fun phonics class. Great job, Ms Chelsey! âºï¸ ðMs Judy, the admin lady, is also very friendly, helpful and welcoming to both parents and kids! âºï¸ðWe are very glad that we made the switch to Jan & Elly and see great progress in such a short time.</p></div></div><div class="image-wraaper"><img loading="lazy" src="https://cdn.prod.website-files.com/68aecf529c8d9770b48d1a91/68b51e9d2fbb2acaddd7a921_stars.svg" alt="star"/><div class="div-block-76"><p class="paragraph-38">mamatan</p><img loading="lazy" src="https://cdn.prod.website-files.com/68abe56631e3e7b0a852b5aa/68b522634daa71faf08a5411_verified.svg" alt="img" class="blue-tik"/></div><img loading="lazy" src="https://cdn.prod.website-files.com/68aecf529c8d9770b48d1a91/68b51ebab2f93665e64498ef_logos_google.svg" alt="google" class="google"/></div></div></div></div><div role="navigation" aria-label="List" class="w-pagination-wrapper pagination-3"><a fs-cmsload-mode="render-all" href="?5eed4f08_page=2" aria-label="Next Page" class="w-pagination-next blue-btn cta-btn"><div class="w-inline-block">View All</div><div class="code-embed w-embed"><svg width="17" height="24" viewBox="0 0 17 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 199<g clip-path="url(#clip0_1003_35)"> 200<path d="M9.92578 7L14.9258 12L9.92578 17" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 201</g> 202<g clip-path="url(#clip1_1003_35)"> 203<path d="M3.92578 7L8.92578 12L3.92578 17" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 204</g> 205<defs> 206<clipPath id="clip0_1003_35"> 207<rect width="24" height="12.2711" fill="currentColor" transform="matrix(0 -1 -1 0 16.9258 24)"/> 208</clipPath> 209<clipPath id="clip1_1003_35"> 210<rect width="24" height="12.2711" fill="currentColor" transform="matrix(0 -1 -1 0 13.8594 24)"/> 211</clipPath> 212</defs> 213</svg></div></a><link rel="prerender" href="?5eed4f08_page=2"/></div></div></div></section><section class="limited-slots-section"><div data-aos="fade-up" class="w-layout-blockcontainer container flex-container w-container"><div class="text-side-lines-wrapper"><div class="left-side-text-line white-gradient-line"></div><p class="paragraph-2 white-text">Upcoming Events & Special Offers</p><div class="right-side-text-line white-gradient-line-right"></div></div></div><div data-aos="fade-up" class="w-layout-blockcontainer container w-container"><h2 class="sub-heading free-english">Free Phonics Assessment & Trial Class!</h2>
213<p class="enrichment-para white-text">Book your child's complimentary assessment to discover their strengths, or register for a fun trial class today.</p><p class="paragraph-6">Available till 31 October 2026</p><div class="div-block-2-copy"><a aria-label="Book Now button" href="/contact-us" class="orange-btn cta-btn w-inline-block"><p class="paragraph">Book Free Assessment</p><div class="code-embed w-embed"><svg width="17" height="24" viewBox="0 0 17 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 214<g clip-path="url(#clip0_1003_35)"> 215<path d="M9.92578 7L14.9258 12L9.92578 17" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 216</g> 217<g clip-path="url(#clip1_1003_35)"> 218<path d="M3.92578 7L8.92578 12L3.92578 17" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 219</g> 220<defs> 221<clipPath id="clip0_1003_35"> 222<rect width="24" height="12.2711" fill="currentColor" transform="matrix(0 -1 -1 0 16.9258 24)"/> 223</clipPath> 224<clipPath id="clip1_1003_35"> 225<rect width="24" height="12.2711" fill="currentColor" transform="matrix(0 -1 -1 0 13.8594 24)"/> 226</clipPath> 227</defs> 228</svg></div></a><a aria-label="Book Now button" href="/contact-us" class="orange-btn cta-btn w-inline-block"><p class="paragraph">Book a Trial Class</p><div class="code-embed w-embed"><svg width="17" height="24" viewBox="0 0 17 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 229<g clip-path="url(#clip0_1003_35)"> 230<path d="M9.92578 7L14.9258 12L9.92578 17" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 231</g> 232<g clip-path="url(#clip1_1003_35)"> 233<path d="M3.92578 7L8.92578 12L3.92578 17" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> 234</g> 235<defs> 236<clipPath id="clip0_1003_35"> 237<rect width="24" height="12.2711" fill="currentColor" transform="matrix(0 -1 -1 0 16.9258 24)"/> 238</clipPath> 239<clipPath id="clip1_1003_35"> 240<rect width="24" height="12.2711" fill="currentColor" transform="matrix(0 -1 -1 0 13.8594 24)"/> 241</clipPath> 242</defs> 243</svg></div></a></div></div></section><section class="footer"><div class="w-layout-blockcontainer container w-container"><div class="div-block-4"><div class="div-block-3"><a href="/" class="footer-page-logo w-inline-block"><img src="https://cdn.prod.website-files.com/68abe56631e3e7b0a852b5aa/68abe6a1afa6258cacb145de_21f122be7225dbdd9089119c6574c374_jan%26elly.webp" loading="lazy" sizes="(max-width: 767px) 100vw, (max-width: 991px) 95vw, 940px" srcset="https://cdn.prod.website-files.com/68abe56631e3e7b0a852b5aa/68abe6a1afa6258cacb145de_21f122be7225dbdd9089119c6574c374_jan%26elly-p-500.png 500w, https://cdn.prod.website-files.com/68abe56631e3e7b0a852b5aa/68abe6a1afa6258cacb145de_21f122be7225dbdd9089119c6574c374_jan%26elly-p-800.png 800w, https://cdn.prod.website-files.com/68abe56631e3e7b0a852b5aa/68abe6a1afa6258cacb145de_21f122be7225dbdd9089119c6574c374_jan%26elly.webp 1280w" alt="jan-elly" class="image"/></a><p class="paragraph-3">We offer personalised English lessons tailored for kids aged 4 to 12, helping them learn with confidence.</p></div><div class="div-block-5"><div><p class="paragraph-4">Quick Links</p><div class="footer-links-wrapper"><a href="/" class="footer-link">Home</a><div data-hover="true" data-delay="0" class="nav-dropdown w-dropdown"><div class="dropdown-toggle w-dropdown-toggle"><div class="dropdown-title">About Us</div><div class="icon w-icon-dropdown-toggle"></div></div><nav class="dropdown-list w-dropdown-list"><a aria-label="view our story" href="/our-story" class="dropdown-links w-dropdown-link">Our Story</a><a href="/our-teachers" class="dropdown-links w-dropdown-link">Our Teachers</a><a href="/testimonials" aria-current="page" class="dropdown-links last-link w-dropdown-link w--current">Testimonials</a></nav></div><div data-hover="true" data-delay="0" class="nav-dropdown w-dropdown"><div class="dropdown-toggle w-dropdown-toggle"><div class="dropdown-title">Programmes</div><div class="icon w-icon-dropdown-toggle"></div></div><nav class="dropdown-list w-dropdown-list"><a href="/phonics-classes-singapore" class="dropdown-links w-dropdown-link">Phonics</a><a href="/k1-p1-classes-singapore" class="dropdown-links w-dropdown-link">ReadWrite (K2-P1)</a><a href="/primary-english-old" class="dropdown-links w-dropdown-link">Primary English</a><a href="/english-composition-classes-singapore" class="dropdown-links w-dropdown-link">Primary Composition</a><a href="/holiday-programme" class="dropdown-links last-link w-dropdown-link">Holiday Programme</a></nav></div><div data-hover="true" data-delay="0" class="nav-dropdown w-dropdown"><div class="dropdown-toggle w-dropdown-toggle"><div class="dropdown-title">Resources</div><div class="icon w-icon-dropdown-toggle"></div></div><nav class="dropdown-list w-dropdown-list"><a href="/class-schedules" class="dropdown-links w-dropdown-link">Timetable</a><a href="/term-dates" class="dropdown-links w-dropdown-link">Term Dates</a><a href="/blog" class="dropdown-links w-dropdown-link">Blogs</a><a href="/upcoming-events" class="dropdown-links w-dropdown-link">Events</a><a href="/faqs" class="dropdown-links last-link w-dropdown-link">FAQs</a></nav></div><div data-hover="true" data-delay="0" class="nav-dropdown w-dropdown"><div class="dropdown-toggle w-dropdown-toggle"><div class="dropdown-title">Locations</div><div class="icon w-icon-dropdown-toggle"></div></div><nav class="dropdown-list w-dropdown-list"><div class="w-dyn-list"><div role="list" class="w-dyn-items"><div role="listitem" class="w-dyn-item"><a href="/locations/bukit-timah-plaza" class="dropdown-links w-dropdown-link">Bukit Timah Plaza</a></div><div role="listitem" class="w-dyn-item"><a href="/locations/greenwich-v" class="dropdown-links w-dropdown-link">Greenwich V</a></div><div role="listitem" class="w-dyn-item"><a href="/locations/imall" class="dropdown-links w-dropdown-link">iMall</a></div><div role="listitem" class="w-dyn-item"><a href="/locations/toa-payoh-cc" class="dropdown-links w-dropdown-link">Toa Payoh CC</a></div><div role="listitem" class="w-dyn-item"><a href="/locations/woodleigh-mall" class="dropdown-links w-dropdown-link">Woodleigh Mall</a></div></div></div></nav></div><a href="/contact-us" class="footer-link">Contact Us</a></div></div><div><p class="paragraph-4">Programme</p><div class="footer-links-wrapper"><a href="/phonics-classes-singapore" class="footer-link">Phonics Programmes</a><a href="/k1-p1-classes-singapore" class="footer-link">ReadWrite Programme</a><a href="/primary-english-old" class="footer-link">Primary English Programmes</a><a href="/english-composition-classes-singapore" class="footer-link">Primary Composition Programmes</a><a href="/holiday-programme" class="footer-link">Holiday Programmes</a><a href="/events" class="footer-link">Events</a></div></div><div><p class="paragraph-4">Support</p><div class="footer-links-wrapper"><a href="#" class="footer-link">Privacy Policy</a><a href="#" class="footer-link">Terms & Conditions</a></div></div></div></div></div></section><section class="rights-resevered"><div class="w-layout-blockcontainer container w-container"><div class="div-block-6"><p class="paragraph-5">© <span id="currentYear">2025</span> Jan & Elly Academy Pte Ltd â All Rights Reserved.</p><div class="div-block-7"><a aria-label="facebook-icon" href="https://www.facebook.com/janandelly.sch" target="_blank" class="social-links w-inline-block"><div class="code-embed-2 w-embed"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"> 244<rect x="0.5" y="0.5" width="31" height="31" rx="15.5" fill="white" fill-opacity="0.09"/> 245<rect x="0.5" y="0.5" width="31" height="31" rx="15.5" stroke="currentColor"/> 246<path d="M17.1971 24V16.7135H19.5664L19.9186 13.8606H17.1971V12.0435C17.1971 11.2202 17.4182 10.6566 18.557 10.6566H20V8.11306C19.2979 8.03499 18.5922 7.9973 17.886 8.00015C15.7918 8.00015 14.3539 9.32658 14.3539 11.7616V13.8553H12V16.7082H14.359V24H17.1971Z" fill="currentColor"/> 247</svg></div></a><a aria-label="instagram-link" href="https://www.instagram.com/janandellysch/" target="_blank" class="social-links w-inline-block"><div class="code-embed-2 w-embed"><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"> 248<rect x="0.5" y="0.5" width="31" height="31" rx="15.5" fill="white" fill-opacity="0.09"/> 249<rect x="0.5" y="0.5" width="31" height="31" rx="15.5" stroke="currentColor"/> 250<path d="M16.8224 8.00098C17.4062 7.99874 17.9899 8.00461 18.5735 8.01858L18.7287 8.02418C18.9079 8.03058 19.0847 8.03858 19.2983 8.04818C20.1494 8.08818 20.7302 8.22258 21.2398 8.42017C21.7678 8.62336 22.2125 8.89855 22.6573 9.34334C23.064 9.74301 23.3787 10.2265 23.5797 10.7601C23.7773 11.2697 23.9116 11.8513 23.9516 12.7024C23.9612 12.9152 23.9692 13.0928 23.9756 13.272L23.9804 13.4272C23.9947 14.0105 24.0008 14.594 23.9988 15.1775L23.9996 15.7743V16.8223C24.0016 17.4061 23.9955 17.9898 23.9812 18.5734L23.9764 18.7286C23.97 18.9078 23.962 19.0846 23.9524 19.2982C23.9124 20.1494 23.7765 20.7302 23.5797 21.2397C23.3794 21.7739 23.0646 22.2578 22.6573 22.6573C22.2573 23.0639 21.7736 23.3787 21.2398 23.5797C20.7302 23.7772 20.1494 23.9116 19.2983 23.9516C19.0847 23.9612 18.9079 23.9692 18.7287 23.9756L18.5735 23.9804C17.9899 23.9947 17.4062 24.0008 16.8224 23.9988L16.2256 23.9996H15.1785C14.5947 24.0016 14.011 23.9955 13.4274 23.9812L13.2722 23.9764C13.0823 23.9696 12.8924 23.9616 12.7026 23.9524C11.8515 23.9124 11.2707 23.7764 10.7603 23.5797C10.2265 23.3791 9.74296 23.0643 9.34359 22.6573C8.93645 22.2575 8.62141 21.7738 8.42044 21.2397C8.22285 20.7302 8.08846 20.1494 8.04846 19.2982C8.03955 19.1084 8.03155 18.9185 8.02446 18.7286L8.02046 18.5734C8.00571 17.9898 7.99905 17.4061 8.00046 16.8223V15.1775C7.99823 14.594 8.0041 14.0105 8.01806 13.4272L8.02366 13.272C8.03006 13.0928 8.03806 12.9152 8.04766 12.7024C8.08766 11.8505 8.22205 11.2705 8.41964 10.7601C8.62073 10.2262 8.93638 9.74288 9.34439 9.34414C9.74349 8.93675 10.2267 8.62142
25010.7603 8.42017C11.2707 8.22258 11.8507 8.08818 12.7026 8.04818L13.2722 8.02418L13.4274 8.02018C14.0107 8.00544 14.5942 7.99878 15.1777 8.00018L16.8224 8.00098ZM16.0001 12.0008C15.4701 11.9934 14.9439 12.0913 14.4521 12.2889C13.9603 12.4865 13.5127 12.7799 13.1353 13.1521C12.7579 13.5242 12.4582 13.9676 12.2536 14.4566C12.049 14.9455 11.9437 15.4703 11.9437 16.0003C11.9437 16.5303 12.049 17.0551 12.2536 17.5441C12.4582 18.033 12.7579 18.4764 13.1353 18.8486C13.5127 19.2207 13.9603 19.5141 14.4521 19.7117C14.9439 19.9094 15.4701 20.0073 16.0001 19.9998C17.0609 19.9998 18.0782 19.5784 18.8283 18.8282C19.5784 18.0781 19.9998 17.0607 19.9998 15.9999C19.9998 14.9391 19.5784 13.9217 18.8283 13.1716C18.0782 12.4215 17.0609 12.0008 16.0001 12.0008ZM16.0001 13.6008C16.3188 13.5949 16.6356 13.6526 16.9318 13.7706C17.2281 13.8885 17.4978 14.0643 17.7254 14.2876C17.9529 14.511 18.1337 14.7774 18.2571 15.0714C18.3805 15.3654 18.4441 15.6811 18.4441 15.9999C18.4442 16.3188 18.3807 16.6344 18.2574 16.9285C18.1341 17.2225 17.9534 17.489 17.726 17.7124C17.4985 17.9359 17.2288 18.1117 16.9326 18.2298C16.6364 18.3478 16.3196 18.4056 16.0009 18.3998C15.3644 18.3998 14.7539 18.147 14.3039 17.6969C13.8538 17.2468 13.601 16.6364 13.601 15.9999C13.601 15.3634 13.8538 14.753 14.3039 14.3029C14.7539 13.8528 15.3644 13.6 16.0009 13.6L16.0001 13.6008ZM20.1998 10.8009C19.9418 10.8112 19.6977 10.921 19.5188 11.1073C19.3398 11.2935 19.2399 11.5418 19.2399 11.8001C19.2399 12.0583 19.3398 12.3066 19.5188 12.4929C19.6977 12.6791 19.9418 12.7889 20.1998 12.7992C20.465 12.7992 20.7194 12.6939 20.9069 12.5063C21.0944 12.3188 21.1998 12.0645 21.1998 11.7993C21.1998 11.534 21.0944 11.2797 20.9069 11.0922C20.7194 10.9046 20.465 10.7993 20.1998 10.7993V10.8009Z" fill="currentColor"/> 251</svg></div></a></div></div></div></section><div class="bottom-corner"><a href="tel:6564818892" class="link-block-2 whatsapp-btn w-inline-block"><img src="https://cdn.prod.website-files.com/68abe56631e3e7b0a852b5aa/68e633825b5222db23a55c05_logos_whatsapp-icon.svg" loading="lazy" alt="" class="image-44"/></a><div id="button" class="backtotop"><img loading="lazy" src="https://cdn.prod.website-files.com/68abe56631e3e7b0a852b5aa/68e62f7b1682f23045750279_backtop.svg" alt=""/></div></div>
251<script src="https://d3e54v103j8qbb.cloudfront.net/js/jquery-3.5.1.min.dc5e7f18c8.js?site=68abe56631e3e7b0a852b5aa" type="text/javascript" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>
251<script src="https://cdn.prod.website-files.com/68abe56631e3e7b0a852b5aa/js/webflow.schunk.36b8fb49256177c8.js" type="text/javascript" integrity="sha384-4abIlA5/v7XaW1HMXKBgnUuhnjBYJ/Z9C1OSg4OhmVw9O3QeHJ/qJqFBERCDPv7G" crossorigin="anonymous"></script>
251<script src="https://cdn.prod.website-files.com/68abe56631e3e7b0a852b5aa/js/webflow.schunk.c91f126ed88297bc.js" type="text/javascript" integrity="sha384-wGpVsM5miRRiAHWvBCAfZ8sMghabmro+Oa6qG2NJv2sUbWDmn7+CkUMAAY5dJQli" crossorigin="anonymous"></script>
251<script src="https://cdn.prod.website-files.com/68abe56631e3e7b0a852b5aa/js/webflow.05a9dc7a.0fa7c6127aa872ed.js" type="text/javascript" integrity="sha384-QKVVT93SY6Ywkr2E2LxKR124D/GqYXLEPIvxihjbT/5PSfGMvQfdqclX87QXNRv8" crossorigin="anonymous"></script>
251<!-- Swiper JS -->
252<script src="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.js"></script>
252 253 254 255<!-- Peppercloud Form: Preserve URL Parameters -->
256<script> 257document.querySelectorAll('a[href*="app.peppercloud.com/form"]').forEach(function(link) { 258 link.addEventListener('click', function(e) { 259 e.preventDefault(); 260 261 const url = new URL(link.href); 262 const currentParams = new URLSearchParams(window.location.search); 263 264 currentParams.forEach((value, key) => { 265 if (!url.searchParams.has(key)) { 266 url.searchParams.set(key, value); 267 } 268 }); 269 270 window.open(url.toString(), '_blank'); 271 }); 272}); 273</script>
273 274 275 276<!-- ========================================= 277 JAN & ELLY - GCLID CAPTURE 278========================================= --> 279
280<script> 281(function () { 282 283 const params = new URLSearchParams(window.location.search); 284 const gclid = params.get("gclid"); 285 286 // Only save when a GCLID is present 287 if (!gclid) return; 288 289 // Keep GCLID for 90 days 290 const maxAge = 90 * 24 * 60 * 60; 291 292 // Save in first-party cookie 293 document.cookie = 294 "jan_elly_gclid=" + 295 encodeURIComponent(gclid) + 296 "; max-age=" + 297 maxAge + 298 "; path=/; SameSite=Lax"; 299 300 // Save in localStorage as backup 301 try { 302 localStorage.setItem("jan_elly_gclid", gclid); 303 } catch (e) { 304 console.warn("localStorage unavailable"); 305 } 306 307})(); 308</script>
308 309 310 311<!-- ========================================= 312 JAN & ELLY - MAIN WEBSITE SCRIPTS 313========================================= --> 314
315<script> 316document.addEventListener("DOMContentLoaded", function () { 317 318 319 /* ========================================= 320 CURRENT YEAR 321 ========================================= */ 322 323 const yearElement = document.getElementById("currentYear"); 324 325 if (yearElement) { 326 yearElement.textContent = new Date().getFullYear(); 327 } 328 329 330 /* ========================================= 331 STICKY NAVBAR BACKGROUND 332 ========================================= */ 333 334 const header = document.querySelector(".navbar"); 335 336 if (header) { 337 338 window.addEventListener("scroll", function () { 339 340 if (window.scrollY > 50) { 341 header.classList.add("bg-active-nav"); 342 } else { 343 header.classList.remove("bg-active-nav"); 344 } 345 346 }); 347 348 } 349 350 351 /* ========================================= 352 WHATSAPP TRACKING 353 ========================================= */ 354 355 const phoneNumber = "6564818892"; 356 357 const baseMessage = 358 "Hi Jan & Elly team, I would like to find out more about the programme on this page:"; 359 360 361 /* ----------------------------------------- 362 Get stored GCLID 363 ----------------------------------------- */ 364 365 function getGclid() { 366 367 // 1. Try cookie 368 const cookieMatch = document.cookie.match( 369 /(?:^|; )jan_elly_gclid=([^;]*)/ 370 ); 371 372 if (cookieMatch) { 373 return decodeURIComponent(cookieMatch[1]); 374 } 375 376 377 // 2. Try localStorage 378 try { 379 return localStorage.getItem("jan_elly_gclid"); 380 } catch (e) { 381 return null; 382 } 383 384 } 385 386 387 /* ----------------------------------------- 388 Find WhatsApp buttons 389 ----------------------------------------- */ 390 391 const buttons = document.querySelectorAll(".whatsapp-btn"); 392 393 394 buttons.forEach(function (button) { 395 396 button.addEventListener("click", function (e) { 397 398 e.preventDefault(); 399 400 401 /* --------------------------------------- 402 Get GCLID 403 --------------------------------------- */ 404 405 const gclid = getGclid(); 406 407 408 /* --------------------------------------- 409 Send event to GTM Data Layer 410 --------------------------------------- */ 411 412 window.dataLayer = window.dataLayer || []; 413 414 window.dataLayer.push({ 415 416 event: "whatsapp_click", 417 418 page_url: window.location.href, 419 420 gclid: gclid || "" 421 422 }); 423 424 425 /* --------------------------------------- 426 Clean website URL 427 --------------------------------------- */ 428 429 const cleanURL = 430 window.location.origin + 431 window.location.pathname; 432 433 434 /* --------------------------------------- 435 Create WhatsApp message 436 --------------------------------------- */ 437 438 let fullMessage = 439 baseMessage + 440 "\n" + 441 cleanURL; 442 443 444 // Add Ref No only if GCLID exists 445 if (gclid) { 446 447 fullMessage += 448 "\n\nRef No: " + 449 gclid; 450 451 } 452 453 454 /* --------------------------------------- 455 Create WhatsApp URL 456 --------------------------------------- */ 457 458 const whatsappURL = 459 "https://api.whatsapp.com/send/?phone=" + 460 phoneNumber + 461 "&text=" + 462 encodeURIComponent(fullMessage) + 463 "&type=phone_number&app_absent=0"; 464 465 466 /* --------------------------------------- 467 Open WhatsApp 468 --------------------------------------- */ 469 470 setTimeout(function () { 471 472 window.location.href = whatsappURL; 473 474 }, 300); 475 476 }); 477 478 }); 479 480}); 481</script>
481 482 483 484<!-- ========================================= 485 PRESERVE URL PARAMETERS 486========================================= --> 487
488<script> 489(function () { 490 491 const STORAGE_KEY = "saved_query_params"; 492 493 494 /* ----------------------------------------- 495 Save parameters from first visit 496 ----------------------------------------- */ 497 498 const currentParams = 499 new URLSearchParams(window.location.search); 500 501 if (currentParams.toString()) { 502 503 sessionStorage.setItem( 504 STORAGE_KEY, 505 currentParams.toString() 506 ); 507 508 } 509 510 511 /* ----------------------------------------- 512 Get saved parameters 513 ----------------------------------------- */ 514 515 const savedParams = 516 sessionStorage.getItem(STORAGE_KEY); 517 518 if (!savedParams) return; 519 520 521 const params = 522 new URLSearchParams(savedParams); 523 524 525 /* ----------------------------------------- 526 Add parameters to internal links 527 ----------------------------------------- */ 528 529 document.querySelectorAll("a[href]").forEach(function (link) { 530 531 try { 532 533 const url = 534 new URL(link.href, window.location.origin); 535 536 537 // Only same-domain links 538 if (url.origin !== window.location.origin) { 539 return; 540 } 541 542 543 // Ignore email and telephone links 544 if ( 545 link.href.startsWith("mailto:") || 546 link.href.startsWith("tel:") 547 ) { 548 return; 549 } 550 551 552 // Add saved parameters 553 params.forEach(function (value, key) { 554 555 if (!url.searchParams.has(key)) { 556 557 url.searchParams.set(key, value); 558 559 } 560 561 }); 562 563 564 link.href = url.toString(); 565 566 } catch (e) { 567 568 // Ignore invalid URLs 569 570 } 571 572 }); 573 574})(); 575</script>
575<script> 576 577var btn = $('#button'); 578 $(window).scroll(function () { 579 btn.toggleClass('show', $(window).scrollTop() > 300); 580 }); 581 btn.on('click', function (e) { 582 e.preventDefault(); 583 $('html, body').animate({ scrollTop: 0 }, 300); 584 }); 585 586</script>
586</body></html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.