# Loading cursor

> Change the mouse pointer while a page loads, or keep the normal pointer. (Pro)

Source: https://arraystory.com/docs/ajaxpress/loading-cursor/

While a page loads, AjaxPress can change the mouse pointer to show that something is happening, the way a browser does on a normal page load. It works alongside any loader, including **None**.

The settings are on **Settings → AjaxPress → Animations**, in the **Cursor** card. Changing them needs [AjaxPress Pro](https://arraystory.com/docs/ajaxpress/ajaxpress-pro/). The free plugin always shows the **Wait** cursor while a page loads.

![Animate the cursor while the next page loads.](https://r2.arraystory.com/docs/ajaxpress/loading-cursor.mp4?v=a37981d5b7)

## Settings

**Animate Cursor** turns the loading cursor on or off. It's on by default. Turn it off to keep the normal pointer while pages load.

**Cursor Style** picks the look:

| Style | Pointer | Use it when |
| --- | --- | --- |
| **Wait** (default) | The busy spinner or hourglass | You want it to look like a normal page load |
| **Progress** | An arrow with a small spinner | Visitors can keep moving around while the page loads |
| **Not Allowed** | A circle with a line through it | Rarely. It can look like an error |

The exact look depends on the visitor's operating system.

## Good to know

- The cursor goes back to normal the moment the new page is on screen.
- On phones and tablets there's no pointer, so this setting has no effect there.
- The cursor changes over the whole screen, persistent players included. That's a hint, not a lock: visitors can still click. To stop clicks during loading, use the [spinner](https://arraystory.com/docs/ajaxpress/spinner/), whose overlay covers the page.

## Custom CSS

While a page loads, AjaxPress adds the class `ajaxpress-cursor-active` to the `<html>` element. You can use it in [Custom CSS](https://arraystory.com/docs/ajaxpress/custom-css/), for example to dim a persistent player during loading:

```css
.ajaxpress-cursor-active #ajaxpress-persist {
  opacity: 0.7;
  transition: opacity 0.2s;
}
```
