<h1>Crosshair.JS</h1>
<img src="https://github.com/CodCatDev/CrosshairJs/raw/1.0.0/ast/crosshair.gif" alt="demo" width="450px">
Lightweight (5KB) animated crosshair cursor with smart hover effects and zero setup.
Just include the script before the closing </body> tag:
<script src="https://cdn.jsdelivr.net/gh/CodCatDev/CrosshairJs@main/src/crosshair.min.js"></script>
<script>
new Crosshair();
</script>
You can pass an options object to customize the look and feel:
new Crosshair({
style: 'corners', // 'corners' or 'full', preview in demo
dotSize: 6, // cursor dot size
outlineSize: 2, // cursor outline width
outlineSpace: 30, // space between the dot and the outline
dotColor: '#ff0000', // cursor dot color
outlineColor: '#fff', // outline color
useBlend: true, // mix-blend-mode: difference
hoverPadding: { x: 15, y: 10 } // padding between the cursor and the element when hovering
});
The cursor automatically tracks all <a>, <button> and elements with the .interactable class. It uses a MutationObserver, so it works perfectly with dynamic content and SPAs.
You can run this in the console:
(function() {
const s = document.createElement('script');
s.src = 'https://cdn.jsdelivr.net/gh/CodCatDev/CrosshairJs@main/src/crosshair.js';
s.onload = () => {
if (typeof Crosshair !== 'undefined') {
new Crosshair();
console.log('CrosshairJs loaded');
} else {
console.error('Класс Crosshair не найден');
}
};
document.head.appendChild(s);
})();
And then add CrosshairJs to any website (until the next page reload =D)
https://codcatdev.github.io/CrosshairJs/
The cursor automatically snaps and scales to links and buttons.
Full-Style:

Corner-Style:

$ claude mcp add CrosshairJs \
-- python -m otcore.mcp_server <graph>