- CSS / HTML / JavaScript
How To Use Custom Mouse Cursor with Simple JS In Html
HTML:
<!--Mouce Cursor--> <div class="mouseCursor cursor-outer"></div> <div class="mouseCursor cursor-inner"><span>Drag</span></div> <!--Mouce Cursor-->
CSS:
.cursor-outer { margin-left: -15px; margin-top: -15px; width: 30px; height: 30px; border: 2px solid #000000; box-sizing: border-box; z-index: 10000000; opacity: 0.5; transition: all 0.08s ease-out; } .mouseCursor { position: fixed; left: 0; top: 0; right: 0; bottom: 0; pointer-events: none; border-radius: 50%; transform: translateZ(0); visibility: hidden; text-align: center; &.cursor-big { width: 80px; height: 80px; &.cursor-outer { display: none; } } } .mouseCursor.cursor-big.cursor-outer { display: none; } .cursor-inner { margin-left: -3px; margin-top: -3px; width: 6px; height: 6px; z-index: 10000001; background-color: $heading-color; transition: width 0.3s ease-in-out, height 0.3s ease-in-out, margin 0.3s ease-in-out, opacity 0.3s ease-in-out; span { color: #fff; line-height: 80px; opacity: 0; text-transform: uppercase; letter-spacing: 1px; font-size: 12px; } &.cursor-big { span { opacity: 1; } } } .tp-cursor-point-area { cursor: none; }
JS:
function itCursor() { var myCursor = jQuery(".mouseCursor"); if (myCursor.length) { if ($("body")) { const e = document.querySelector(".cursor-inner"), t = document.querySelector(".cursor-outer"); let n, i = 0, o = !1; (window.onmousemove = function(s) { o || (t.style.transform = "translate(" + s.clientX + "px, " + s.clientY + "px)"), (e.style.transform = "translate(" + s.clientX + "px, " + s.clientY + "px)"), (n = s.clientY), (i = s.clientX); }), $("body").on("mouseenter", "button, a, .cursor-pointer", function() { e.classList.add("cursor-hover"), t.classList.add("cursor-hover"); }), $("body").on("mouseleave", "button, a, .cursor-pointer", function() { ($(this).is("a", "button") && $(this).closest(".cursor-pointer").length) || (e.classList.remove("cursor-hover"), t.classList.remove("cursor-hover")); }), (e.style.visibility = "visible"), (t.style.visibility = "visible"); } } } itCursor(); $(".tp-cursor-point-area").on("mouseenter", function () { $(".mouseCursor").addClass("cursor-big"); }); $(".tp-cursor-point-area").on("mouseleave", function () { $(".mouseCursor").removeClass("cursor-big"); }); $(".tp-cursor-point-area").on("mouseleave", function () { $(".mouseCursor").removeClass("cursor-big"); });