這篇文章給大家分享的是有關(guān)js如何自制圖片放大鏡功能的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
旌德網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)建站,旌德網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為旌德上千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站建設(shè)要多少錢,請找那個售后服務(wù)好的旌德做網(wǎng)站的公司定做!具體內(nèi)容如下
注釋:small img size:600x400
big img size:1200x800
原理:1、大圖是小圖的 2倍整
2、大圖以小圖片中心點為中心
a.transform : translate(-50%,-50%)
b.(rate-0.5)*50%
c.clip : rect(t,r,b,l) 以小圖邊界為邊界
3、rect必須有absolute
4、獲取鼠標(biāo)在圖片中的位置
a.獲取鼠標(biāo)位置 XY
b.獲取圖片位置、寬度、高度
i.得到鼠標(biāo)在圖片的百分比位置
ii.將百分比位置應(yīng)用于大圖 left,top
問題:
居中理解太差:
absolute ,left ,top,right,bottom,margin
放大縮小問題:
起初: transform: scale() 縮放
利用 transition 過渡
結(jié)果,采用這種方法會使得鼠標(biāo)移動時很卡頓
可能原因:每次hover 都會觸發(fā) transition事件
解決方法:采用了 Animate 動畫來實現(xiàn)縮放
細節(jié):以 onmouse 事件 e 動態(tài)獲得 e.pageX 和 e.pageY
以 $().offset().top /left 獲取圖片位置
以 $().width() /height() 獲取圖片寬高
在錯誤的操作中也忘了獲取 class 的方法
$().attr("class")
$().prop("class")
event.traget.className
如果要實現(xiàn) hover出現(xiàn) 透明的塊狀就在外部 opacity:0.5; 設(shè)置z-index就可以了。
WEBGOD
感謝各位的閱讀!關(guān)于“js如何自制圖片放大鏡功能”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站www.cdcxhl.com,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。