Home Work
SaaS developmentAI developmentAPI developmentMobile app developmentGoogle Ads managementHeadless ShopifyLaravel developmentNext.js developmentReact developmentTypeScript engineeringUI/UX designSEO & AEOEcommerce development
AI solutionsB2B platformsE-commerceHospitalityLead generationLogisticsEducationProcess automationSaaS platformsStartup MVPReal estateHealthcare
LegalHealthcareReal estateFinanceHospitality
The HagueRotterdamAmsterdamUtrechtEindhovenAlmereBredaArnhemNijmegenTilburgEnschedeGroningenLeidenDelftZoetermeerDen Bosch
Studio
AboutProcessLabBlogContact

Verticale zijtab die uitschuift New

Two vertical edge tabs ("Quote" and "Feedback") that slide out into a mini form. All states: open/closed, validation errors with aria-invalid, sending with a loading state and a thank-you message in aria-live; the feedback panel asks for a 1 to 10 score. Esc or clicking outside closes and returns focus to the tab.

How to use it

  1. Paste the HTML where the buttons should appear.
  2. Add the CSS to your stylesheet. All classes are prefixed, so nothing clashes with your own styles.
  3. Add the JavaScript and call init() with the element that contains the HTML.
<!-- Verticale zijtab die uitschuift · NedDev · eigen werk. -->
<div class="jouw-container">
<div class="ztc"><div class="ztc__pg" aria-hidden="true"><p class="ztc__pk">Dakdekkersbedrijf Mulder · Zwolle</p><p class="ztc__ph1">Lekkage? Binnen 24 uur een dakdekker op je dak.</p><i></i><i></i><i class="is-k"></i></div>
<div class="ztc__dock">
<div class="ztc__tabs"><button class="ztc__tab" type="button" data-p="o" aria-expanded="false">Offerte</button><button class="ztc__tab ztc__tab--f" type="button" data-p="f" aria-expanded="false">Feedback</button></div>
<div class="ztc__pan is-act" data-p="o" role="dialog" aria-label="Offerte aanvragen" inert>
<div class="ztc__hd"><p class="ztc__t">Offerte aanvragen</p><button class="ztc__x" type="button" aria-label="Sluiten"><svg viewBox="0 0 16 16" aria-hidden="true"><path d="M3 3l10 10M13 3L3 13"/></svg></button></div>
<form class="ztc__f" novalidate><label class="ztc__l">Naam<input name="naam" autocomplete="name"></label><span class="ztc__e"></span>
<label class="ztc__l">Telefoon of e-mail<input name="contact" autocomplete="email"></label><span class="ztc__e"></span>
<label class="ztc__l">Waar gaat het om?<select name="soort"><option>Lekkage</option><option>Nieuw plat dak</option><option>Dakkapel</option><option>Dakgoot</option></select></label>
<button class="ztc__send" type="submit"><span>Versturen</span></button></form>
<div class="ztc__ok" role="status" aria-live="polite"></div></div>
<div class="ztc__pan" data-p="f" role="dialog" aria-label="Feedback geven" inert>
<div class="ztc__hd"><p class="ztc__t">Hoe vind je deze pagina?</p><button class="ztc__x" type="button" aria-label="Sluiten"><svg viewBox="0 0 16 16" aria-hidden="true"><path d="M3 3l10 10M13 3L3 13"/></svg></button></div>
<form class="ztc__f" novalidate><fieldset class="ztc__cijfer"><legend>Rapportcijfer</legend>
<label><input type="radio" name="c" value="1"><span>1</span></label><label><input type="radio" name="c" value="2"><span>2</span></label><label><input type="radio" name="c" value="3"><span>3</span></label><label><input type="radio" name="c" value="4"><span>4</span></label><label><input type="radio" name="c" value="5"><span>5</span></label><label><input type="radio" name="c" value="6"><span>6</span></label><label><input type="radio" name="c" value="7"><span>7</span></label><label><input type="radio" name="c" value="8"><span>8</span></label><label><input type="radio" name="c" value="9"><span>9</span></label><label><input type="radio" name="c" value="10"><span>10</span></label></fieldset><span class="ztc__e"></span>
<label class="ztc__l">Wat kan beter? (mag leeg)<textarea name="op" rows="2"></textarea></label>
<button class="ztc__send" type="submit"><span>Verstuur feedback</span></button></form>
<div class="ztc__ok" role="status" aria-live="polite"></div></div>
</div></div>
</div>

More buttons

Seen something you like?

Add it to your selection and send it over. We build your site around it, in your brand.

Get in touch →