新聞中心
?您是否曾經(jīng)訪問過一個(gè)網(wǎng)站并被其驚人的功能所震撼?其中之一可能是一個(gè)很酷的鼠標(biāo)光標(biāo),它不同于您習(xí)慣的常規(guī)箭頭或指針光標(biāo)。

創(chuàng)新互聯(lián)是一家專業(yè)提供阿克蘇企業(yè)網(wǎng)站建設(shè),專注與成都做網(wǎng)站、成都網(wǎng)站制作、H5響應(yīng)式網(wǎng)站、小程序制作等業(yè)務(wù)。10年已為阿克蘇眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站建設(shè)公司優(yōu)惠進(jìn)行中。
這確實(shí)可以改善用戶體驗(yàn),最近我一直想知道它是如何工作的。所以我開始做一些研究,我發(fā)現(xiàn)它是如何完成的。
在本文中,我將解釋如何制作自定義鼠標(biāo)光標(biāo)。在本文結(jié)束時(shí),您將學(xué)習(xí)如何使用CSS和JavaScript兩種不同的方法制作這些光標(biāo)。然后,您將準(zhǔn)備好使用不同的創(chuàng)意光標(biāo)來充實(shí)您的網(wǎng)站,以保持您的觀眾的參與度。
如何使用CSS自定義鼠標(biāo)光標(biāo)
使用CSS自定義鼠標(biāo)光標(biāo)非常簡單,因?yàn)镃SS已經(jīng)有一個(gè)屬性來處理這個(gè)問題。我們需要做的就是識(shí)別這個(gè)屬性并使用它。作為前端工程師,我們經(jīng)常使用這個(gè)屬性——它就是萬能的cursor屬性。是的,該屬性使我們能夠制作我們選擇的自定義光標(biāo)。
在我們進(jìn)入一個(gè)實(shí)際的例子之前,讓我們看一下與CSS cursor屬性相關(guān)的值。雖然大多數(shù)開發(fā)人員只使用了一些重要的,但我們應(yīng)該看看更多。
從上圖中,您可以看到每個(gè)CSS cursor屬性值名稱和對應(yīng)的值的說明。
現(xiàn)在如何使用CSS自定義鼠標(biāo)光標(biāo)?要使用它,您只需告訴CSS您打算使用什么圖像,并使用該url值將光標(biāo)屬性指向圖像URL。
從上面的代碼片段中,你可以看到我在文檔正文上設(shè)置了這個(gè),所以無論光標(biāo)移動(dòng)到哪里,它都可以應(yīng)用于光標(biāo)。它具有指定的圖像url()。
該屬性的下一個(gè)值是備用,以防圖像未加載或可能由于某些內(nèi)部故障而無法找到。我確定您不希望您的網(wǎng)站“無光標(biāo)”,因此添加后備非常重要。您還可以添加盡可能多的后備URL。
您還可以在網(wǎng)頁的特定元素或部分上自定義光標(biāo)。下面是一個(gè) CodePen 示例:
這就是在CSS中自定義光標(biāo)的全部內(nèi)容。現(xiàn)在讓我們看看如何用 JavaScript 做到這一點(diǎn)。
如何使用JavaScript制作自定義鼠標(biāo)光標(biāo)
要使用JavaScript實(shí)現(xiàn)這一點(diǎn),您需要操作DOM以獲得所需的結(jié)果。
首先,讓我們看一下 HTML:
從上面的代碼片段中,我創(chuàng)建了兩個(gè)div來表示光標(biāo)。計(jì)劃是從JavaScript操作這些 div,以便它們在網(wǎng)頁上的移動(dòng)由 JavaScriptmousemove事件使用鼠標(biāo)移動(dòng)的 X 和 Y 坐標(biāo)滾動(dòng)。
現(xiàn)在讓我們來看看 CSS 部分,這將是一件有意義的事情。
如何使用CSS設(shè)置自定義光標(biāo)的樣式
看看上面的CSS代碼,我禁用了光標(biāo)(還記得cursor:none嗎?)。這將使光標(biāo)不可見,只允許我們的自定義光標(biāo)顯示。
我設(shè)計(jì)的divs樣式賦予它們獨(dú)特的“類似光標(biāo)”的外觀。你絕對可以用它做更多的事情,如果有圖像,可以添加背景圖像、表情符號(hào)、貼紙等?,F(xiàn)在,讓我們看一下JavaScript
如何使用 JavaScript 使光標(biāo)移動(dòng)
我在全局窗口對象上添加了一個(gè)事件監(jiān)聽器來監(jiān)聽任何鼠標(biāo)移動(dòng)。當(dāng)鼠標(biāo)移動(dòng)時(shí),moveCursor函數(shù)表達(dá)式被調(diào)用并接收事件對象作為參數(shù)。使用此參數(shù),我能夠在頁面上的任何位置獲取鼠標(biāo)上的 X 和 Y 坐標(biāo)。
我已經(jīng)使用JavaScript從DOM中選擇了每種類型的光標(biāo)querySelector。所以我所要做的就是根據(jù)鼠標(biāo)的 X 和 Y 坐標(biāo)移動(dòng)它們,方法是使用translate3d值控制樣式上的變換屬性。這將使div 在鼠標(biāo)移動(dòng)到網(wǎng)頁上的任何點(diǎn)時(shí)移動(dòng)。
您看到的反引號(hào)稱為模板文字。這可以輕松編寫變量以將它們附加到字符串。另一種方法是將變量連接到字符串。
哪種方法效果最好?
現(xiàn)在由您作為開發(fā)人員來選擇最適合您的方法。如果您想使用一些漂亮的表情符號(hào)或圖像作為光標(biāo),您可以選擇使用CSS。另一方面,您可能想要使用JavaScript,這樣您就可以自定義您選擇的復(fù)雜形狀并為光標(biāo)的移動(dòng)設(shè)置動(dòng)畫。
無論哪種方式都很好,只要您獲得所需的結(jié)果并讓您網(wǎng)站的所有訪問者驚嘆。
*原文鏈接:https://www.freecodecamp.org/news/how-to-make-a-custom-mouse-cursor-with-css-and-javascript/?
分享題目:如何使用CSS和JavaScript制作自定義鼠標(biāo)光標(biāo)
URL網(wǎng)址:http://m.fisionsoft.com.cn/article/dpoooog.html


咨詢
建站咨詢
