淘寶放大鏡的簡單實現,原來道理很簡單

扶牆哥發表於2018-08-01

前言:自己在學習過程中構思的淘寶放大鏡的實現,大佬輕噴,小白可以跟我一起探討學習。話不多說,我們來看效果圖。

淘寶放大鏡的簡單實現,原來道理很簡單

首先是html結構,結構主要就三塊,放大鏡,小圖和大圖區域,我們都用div來實現。

淘寶放大鏡的簡單實現,原來道理很簡單
圖是在淘寶取的網路地址。

css程式碼我就不截圖了,簡單說幾個需要注意的地方就行,一個就是放大鏡需要設定透明度,這個透明度多少就看你自己喜歡了。第二個就是大圖區的背景圖需要設定為兩倍的大小。當然不一定要是兩倍,但一定要比本身的寬高要大,不然無法取得放大的效果。

我們主要來看看js程式碼,

淘寶放大鏡的簡單實現,原來道理很簡單

淘寶放大鏡的簡單實現,原來道理很簡單
簡單解釋程式碼: 1.滑鼠移入事件,讓放大鏡出現,並且設定出現的位置為貼靠在小圖的邊緣。 2.滑鼠移動事件,滑鼠移動伴隨著放大鏡的移動。當然這裡也有限制,滑鼠一旦超出,放大鏡就會貼靠或者消失。計算滑鼠的xy值,xy值減去放大鏡寬高的一半就是放大鏡的xy值,通過放大鏡的xy值再減去小圖的xy值,就可以算出放大鏡移動的距離。根據移動的距離*2,就是大圖背景移動的距離。 邏輯比較繞,覺得繞的可以在紙上畫個圖來分辨這些距離。

最好,如果覺得有收穫,點個收藏和留言探討哦!複製程式碼

相關文章