TEASEDocs
ProductsLinkLanding-page builder

Control when an element or background appears

React to scroll, delay, touch, or exit-intent instead of showing everything instantly.

By default every button and object renders the moment the page loads. The appear section of POST /api/admin/bg/ui lets you delay any individual element — or the background itself — behind a trigger: after N seconds, after scrolling N%, on first touch, or on exit-intent.

Delay an element

Rules are keyed by the same button/object id used in free-canvas positioning:

curl -X POST "https://app.tease.link/api/admin/bg/ui?domain=links.creator.com" \
  -H "Authorization: Bearer $TEASE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "appear": {
      "items": {
        "obj_headline": { "when": "delay", "after": 1.5 },
        "b_a1b2c3d4": { "when": "scroll", "after": 40, "once": "visit" }
      }
    }
  }'
KeyMeaning
whennow (default), delay, touch, scroll, exit
afterOnly with when: "delay" (seconds, 0.1–60) or when: "scroll" (percent scrolled, 1–100) — invalid with any other when
oncevisit (default) or session — whether the "already appeared" memory resets each visit or lasts the browser session

Up to 120 element rules per domain. Omit an id to leave that element showing instantly, as today.

Delay the background

appear.bg reveals a background variant (or the desktop-wide background) on the same trigger vocabulary, keyed by the background's own arm identifier rather than an element id:

curl -X POST "https://app.tease.link/api/admin/bg/ui?domain=links.creator.com" \
  -H "Authorization: Bearer $TEASE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "appear": {
      "bg": { "arm": "desktop", "when": "scroll", "after": 25 }
    }
  }'

arm is required alongside when — a rule missing either is dropped rather than stored partially. This only takes effect when the domain isn't running a background carousel.

Clear either part by omitting it from a fresh appear object, or remove the whole section with { "appear": null }.

Confirm it worked

ui.appear in the response should list exactly the ids/arm you set. On the preview page, an item with when: "delay" should be invisible until the delay elapses; one with when: "scroll" should stay hidden until you scroll past its threshold. Reload with once: "visit" and it should appear again in the new load; with once: "session" it should stay revealed within the same browser tab session.

Different from buttons.reveal_delay

The landing-wide buttons.reveal_delay (see Style every button on the landing page) is a single flat fade-in delay for the whole button row. appear is the richer, per-element system — use it when different elements need different triggers.

What's next

On this page