1. 程式人生 > >商品圖片放大鏡效果

商品圖片放大鏡效果

在詳情頁瀏覽時商品大圖還是不能完全看清楚商品的細節,該特效實現滑鼠懸停在商品大圖上時,在商品大圖右側出現放大鏡效果並根據滑鼠的位置來改變右側大圖的顯示內容,放大鏡中的內容和滑鼠懸停位置的內容相同。該特效的實現效果圖為:


對商品大圖新增滑鼠監聽事件,首先監聽滑鼠的進入事件,在監聽事件中將滑鼠在大圖上遮罩層以及放大圖片的顯示區域設定為可見。監聽滑鼠的移動事件,首先獲取相關座標,獲取大圖在頁面中的相對位置,再獲取滑鼠相對於頁面的位置,使用後者座標減去前者座標得到滑鼠相對於大圖的位置。使用滑鼠的座標值減去遮罩層的一半的寬度,從而得到遮罩層顯示的位置。使用遮罩層的座標值乘以放大倍數得到放大鏡裡圖片的座標值,這裡放大值設定為2。根據這些得到的座標值設定遮罩層的座標,以及放大鏡區域中圖片座標。最後新增滑鼠離開的監聽事件,當滑鼠離開商品大圖時隱藏遮罩層以及放大鏡。


具體實現程式碼,HTML結構是:

            a(href='javascript:;').detail-img-main#imgMainWrap
                img(src='./images/detail/band/b1.jpg')#imgMain
                div#imgLoc
            div.manifyImg
                img(src='./images/detail/band/b1.jpg')
js程式碼為:
//magnify
        //放大鏡效果,首先要獲取商品大圖div的jQuery物件
        var $imgWrap=$('.detail-img-main')
        //監聽滑鼠進入事件
        $imgWrap.mouseenter(function (e) {
            //#imgLoc為遮罩層,使其顯示
            $('#imgLoc').css('display','block')
            //.mainfyImg即放大鏡顯示元素,也使其顯示
            $('.manifyImg').css('display','block')
            
        })
        //監聽滑鼠離開事件
        $imgWrap.mouseleave(function (e) {
            //當滑鼠離開時,使遮罩層隱藏
            $('#imgLoc').css('display','none')
            //當滑鼠離開時,使放大鏡隱藏
            $('.manifyImg').css('display','none')
        })
        //監聽滑鼠的移動事件
        $imgWrap.mousemove(function (e) {
            //得到商品大圖的相對於頁面的橫座標
            var imgX=document.getElementById('imgMainWrap').getBoundingClientRect().left
            //得到商品大圖的相對於頁面的縱座標
            var imgY=document.getElementById('imgMainWrap').getBoundingClientRect().top
            //得到滑鼠相對於商品大圖的橫座標,使用滑鼠相對於頁面的橫座標減去商品大圖相對於頁面的座標
            var cursorX=e.clientX-imgX
            //得到滑鼠相對於商品大圖的縱座標
            var cursorY=e.clientY-imgY
            //得到遮罩層的座標,106是遮罩層邊長的一半
            var maskX=(cursorX-106)+'px'
            var maskY=(cursorY-106)+'px'
            //保證遮罩層是完整的
            if (cursorX<106) {
                maskX='0px'
            }else if (cursorX>310) {
                maskX='200px'
            }
            if (cursorY<106) {
                maskY='0px'
            }else if (cursorY>310) {
                maskY='200px'
            }
            //計算得到放大鏡中圖片的顯示位置
            var maginfyX=-parseInt(maskX)*2+'px'
            var maginfyY=-parseInt(maskY)*2+'px'
            //設定遮罩層的位置
            $('#imgLoc').css('left',maskX)
            $('#imgLoc').css('top',maskY)
            //設定放大鏡中圖片的位置
            $('.manifyImg img').css('left',maginfyX)
            $('.manifyImg img').css('top',maginfyY)
        })    

檢視完整專案可以去我的GitHub專案地址https://github.com/freshCoderOfXiyou/electricity-website,歡迎大家的下載、提問和關注哈。

相關推薦

商品圖片放大鏡效果

在詳情頁瀏覽時商品大圖還是不能完全看清楚商品的細節,該特效實現滑鼠懸停在商品大圖上時,在商品大圖右側出現放大鏡效果並根據滑鼠的位置來改變右側大圖的顯示內容,放大鏡中的內容和滑鼠懸停位置的內容相同。該特效的實現效果圖為: 對商品大圖新增滑鼠監聽事件,首先監聽滑鼠的進入事件

圖片放大鏡效果

分享 圖片 div lock bubuko 技術 mouseout fun play 類似某寶的圖片放大鏡效果,言簡意賅,直接上代碼 html <div id="container"> <div class="leftView"&

前端優化之商品圖片放大鏡

優化原因 現在的電商商城專案解決的主要是購買商品的問題,那麼購買商品主要要看清楚商品表面外形的主要特徵和細節,如果圖片處理過小,或者細節過於模糊,就需要做一個商品高清圖片放大區域性的功能。 技術關鍵點 左側和上側距離,在一個水平位置和垂直位置中有我們可以挪

JavaScript多張圖片放大鏡效果(不限定圖片尺寸,rem單位)

效果如下:可以展示圖片列表的放大鏡效果,圖片尺寸沒有要求會自動調整至水平垂直居中效果程式碼如下,除了圖片要替換一下,其它的可直接執行檢視效果,enlarge是圖片要放大檢視的倍數,注意:.bigBox的寬高與.tool的寬高比值要與enlarge保持一致,比如本例中這個比值是

javascript實現圖片放大鏡效果

當我們在電商網站上購買商品時,經常會看到這樣一種效果,當我們把滑鼠放到我們瀏覽的商品圖片上時,會出現類似放大鏡一樣的一定區域的放大效果,方便消費者觀察商品。今天我對這一技術,進行簡單實現,實現圖片放大鏡效果。 我在程式碼中進行了程式碼編寫的思路的說明和詳細的程

安卓實現圖片放大鏡效果

一、準備圖片 在drawable資料夾下放置需要進行輪詢的圖片 二、編寫一個簡單的佈局檔案 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:andr

用原生js實現淘寶詳情頁圖片放大鏡效果

這個功能是我在模仿淘寶詳情頁的時候做出來的,最初版本對於非1:1比例的圖片沒有做處理,後續對程式進行了完善和邏輯上修改,形成了當前的程式。廢話不多說,直接進入正題了,先上個效果圖先放上這段功能的html程式碼<div id="full-pic">     <

js實現圖片放大鏡效果

一、HTML檔案 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

HTML CSS寫商品詳情放大鏡效果

先上效果圖: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"&

用css3的cursor:zoom-in/zoom-out實現微博看圖片放大鏡效果

本文轉載於:猿2048網站用css3的cursor:zoom-in/zoom-out實現微博看圖片放大鏡效果 1.前言 

仿淘寶商品放大鏡效果

效果圖:     原始碼: <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title>

仿照淘寶的商品放大鏡效果

1.滑鼠經過small,顯示遮蓋層和大圖;離開時隱藏; 2.滑鼠在盒子中移動時,遮蓋層和滑鼠一起移動; 3.遮蓋層移動時,大圖移動; 須注意點: 1.處理小圖時: 滑鼠在遮蓋層的中間,所以遮蓋層的左上角的座標應該在滑鼠在盒子中的位置,減去一半的遮蓋層寬度、高度; 程式碼為:

滑鼠移動到圖片上右邊顯示放大鏡效果

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html

網頁中商品圖片的區域性放大效果

需求背景:購物網站中的商品區域性放大: 程式碼: html:  <div class="Pro_Detleft">         <div class="detail-itemsummary-imageviewer">              

js實現圖片滑動及放大鏡效果(仿淘寶京東圖片展示)

程式碼地址: https://github.com/EsionChang/HTML/tree/master/ThreeInOne 實現效果為: 滑鼠放到小圖上,上部的大圖會滑動到相應的位置,滑動方式為減速。滑鼠移動到上部的大圖上,會顯示大圖的對應放大部位。

js例項:商品放大鏡效果

<!DOCTYPE html><html><head><meta charset="UTF-8"><title></title><style type="text/css">body{margin: 0;padding: 0;

js圖片區域性放大鏡效果

在購物網站的展示頁面中常常能看到跟隨滑鼠移動而移動焦點的放大鏡效果,實現這種效果的方法很多,這裡給出一種。 你需要一張大圖和一張縮小尺寸的小圖,小圖在介面中顯示,大圖用來構造放大效果。 <div id="mirror"></div>

JavaScript 圖片區域性放大鏡效果程式碼

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html x

jQuery補充,模擬圖片放大鏡

logs hidden oct event scrip position tro 顯示 reat jQuery補充,模擬圖片放大鏡 html <!DOCTYPE html> <html lang="en"> <head> &l

jQuery基礎(常用插件 表單驗證,圖片放大鏡,自定義對象級,jQuery UI,面板折疊)

此外 cookie值 添加圖標 tor 列表 需要 droppable 使用 ddn 1.表單驗證插件——validate 該插件自帶包含必填、數字、URL在內容的驗證規則,即時顯示異常信息,此外,還允許自定義驗證規則,插件調用方法如下: $(form).vali