日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

JavaScript實現放大鏡效果代碼示例

瀏覽:196日期:2023-11-01 09:02:09

JavaScript實現放大鏡效果:

<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <meta name='viewport' content='width=device-width, initial-scale=1.0'> <title>Document</title> <style> .smallBgImg { width: 350px; height: 350px; border: 1px solid #ccc; box-sizing: border-box; background-clip: padding-box; float: left; position: relative; cursor: pointer; } .move { border: 1px solid #ccc; box-sizing: border-box; background: rgba(165, 201, 66, 0.5); position: absolute; left: 0; top: 0; } .bigBgImg { width: 540px; height: 540px; border: 1px solid #ccc; box-sizing: border-box; background-clip: padding-box; float: left; margin-left: 10px; } .hidden { display: none; } </style></head><body> <div class='smallBgImg'> <div class='move hidden'> </div> </div> <div class='bigBgImg hidden'> </div> <script> (function () { //基本信息配置 var config = {smallImg: './image/smallImg.jpg', //小圖路徑smallDom: document.getElementsByClassName('smallBgImg')[0], //小圖 dom對象bigImg: './image/bigImg.jpg', //大圖路徑bigDom: document.getElementsByClassName('bigBgImg')[0], //大圖 dom對象moveDom: document.getElementsByClassName('move')[0], //移動方塊的dom對象smallSize: { //小圖尺寸 width: 350, height: 350},bigSize: { //大圖尺寸 width: 800, height: 800},divBigSize: { //大圖框的尺寸 width: 540, height: 540} }; //根據比例尺計算移動框的寬高 移動框/小圖尺寸 = 大框尺寸/大圖尺寸 config.moveSize = {width: config.divBigSize.width * config.smallSize.width / config.bigSize.width,height: config.divBigSize.height * config.smallSize.height / config.bigSize.height }; //小圖style的計算值 config.smallComputedStyle = window.getComputedStyle(config.smallDom); //大圖style的計算值 config.bigComputedStyle = window.getComputedStyle(config.bigDom); //移動方塊style的計算值 config.moveComputedStyle = window.getComputedStyle(config.moveDom); initSmallImg(); initBigImg(); initMoveDiv(); //初始化小圖 function initSmallImg() {config.smallDom.style.background = `url('${config.smallImg}') no-repeat left top/contain`; //設置背景圖片config.smallDom.onmousemove = function (e) { //鼠標移入事件 //展示移動小塊 config.moveDom.style.display = 'block'; var move = window.getComputedStyle(config.moveDom); //獲取鼠標在小圖中的坐標 var position = getPosition(e); //設置移動框的位置 setPosition(position); //展示大圖框 config.bigDom.style.display = 'block'; //大圖框中展示部分大圖 displayBigBgImgSize();}config.smallDom.onmouseout = function () { //移動小塊隱藏,大圖隱藏 config.moveDom.style.display = config.bigDom.style.display = 'none';} } //初始化大圖 function initBigImg() {config.bigDom.style.background = `url('${config.bigImg}') no-repeat`; //設置背景圖片 } //初始化移動框 function initMoveDiv() {config.moveDom.style.width = config.moveSize.width + 'px';config.moveDom.style.height = config.moveSize.height + 'px'; } //獲取鼠標的坐標位置 function getPosition(e) {if (e.target == config.smallDom) { //若鼠標出現在小圖中,事件源是小圖 return { //直接獲取鼠標距離事件源的橫坐標和縱坐標 x: e.offsetX, y: e.offsetY };} else { //鼠標出現在移動框中,事件源是移動框 return { x: e.offsetX + parseFloat(config.moveComputedStyle.left) + 1, //鼠標距離事件源的橫坐標 + 事件源在smallDom中的left值 + 邊框值 y: e.offsetY + parseFloat(config.moveComputedStyle.top) +//鼠標距離事件源的縱坐標 + 事件源在smallDom中的top值 + 邊框值 }} } //設置移動方塊的位置 function setPosition(position) {//鼠標要始終在移動方塊中央位置config.moveDom.style.left = position.x - parseFloat(config.moveComputedStyle.width) / 2 + 'px';config.moveDom.style.top = position.y - parseFloat(config.moveComputedStyle.height) / 2 + 'px';//要限制移動框的范圍在小圖中,否則會超出小圖var left = parseInt(config.moveComputedStyle.left);var top = parseInt(config.moveComputedStyle.top);if (left < 0) { //最左 config.moveDom.style.left = '0px';}if (left > config.smallSize.width - config.moveSize.width) { //最右 config.moveDom.style.left = config.smallSize.width - config.moveSize.width + 'px';}if (top < 0) { //最上 config.moveDom.style.top = '0px';}if (top > config.smallSize.height - config.moveSize.height) { //最下 config.moveDom.style.top = config.smallSize.height - config.moveSize.height + 'px';} } //展示部分大圖 function displayBigBgImgSize() {//移動框的left/小圖width = 大圖框的left/大圖widthvar moveLeft = parseInt(config.moveComputedStyle.left);var moveTop = parseInt(config.moveComputedStyle.top);config.bigDom.style.backgroundPosition = `-${moveLeft*config.bigSize.width/config.smallSize.width}px -${moveTop*config.bigSize.height/config.smallSize.height}px`; } }()); </script></body></html>index.html

效果展示:

JavaScript實現放大鏡效果代碼示例

代碼中的大圖片和小圖片要自己找,并且替換掉代碼中的圖片路徑。

做放大鏡效果做重要的一點是,要找到黃色移動塊、小圖、部分大圖、大圖,這四個之間的比例尺

黃色移動塊 /小圖 = 部分大圖 / 大圖

JavaScript實現放大鏡效果代碼示例

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: JavaScript
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
男人天堂欧美日韩| 久久精品欧洲| 久久久久99| 日韩中文首页| 亚洲va在线| 婷婷激情综合| 日韩视频免费| 羞羞答答国产精品www一本| 久久福利一区| 亚洲精一区二区三区| 久久国产成人| 日韩一区中文| 国产精品videossex久久发布| 欧美日韩伊人| 久久成人高清| 神马午夜在线视频| 欧美亚洲国产精品久久| 亚洲免费黄色| 亚洲精品第一| 欧美极品一区二区三区| av日韩中文| 波多野结衣一区| 亚洲精品日本| 精品伊人久久| 欧美日韩中文一区二区| 不卡在线一区二区| 日韩精品一区二区三区av| 国产精品videossex久久发布| 97精品一区二区| 欧美日韩激情在线一区二区三区| 一区二区三区四区在线观看国产日韩 | 国产综合婷婷| 亚洲精品裸体| 久久精品一区| 激情综合在线| 日本欧美在线| 在线看片福利| 免费在线观看一区二区三区| 日本亚洲三级在线| 国产精品久久观看| 国产毛片久久| 国产精品久久国产愉拍| 99精品视频在线观看免费播放| 手机精品视频在线观看| 国产精品亚洲欧美一级在线| 亚洲风情在线资源| 亚洲精品免费观看| 欧美国产小视频| 一本综合精品| 天堂中文在线播放| 日本在线视频一区二区| 日韩精品2区| 婷婷精品在线观看| 国产成人精品福利| 一区二区三区四区在线观看国产日韩 | 国产精品久久久久久久久久白浆| 久久一级电影| 国产精品一区二区av日韩在线| 亚洲精品一区三区三区在线观看| 亚洲精品在线二区| 久久久国产亚洲精品| 欧美亚洲tv| 亚洲激情精品| 国产成人精品一区二区三区视频| 日韩在线观看一区二区| 国产精品一国产精品k频道56| 蜜桃视频欧美| 精品高清久久| 97se亚洲| 在线看片不卡| 国产资源在线观看入口av| 亚洲精品激情| 免费精品国产的网站免费观看| 国产精品xvideos88| 久久国产精品毛片| 日韩欧美一区免费| 国产精品夜夜夜| 一区二区国产在线| 免费av一区| 中文字幕在线视频久| 91九色综合| 蘑菇福利视频一区播放| 日韩精品首页| 精品国产乱码久久久| 日本久久一区| 国产午夜精品一区二区三区欧美| 成人午夜在线| 国产亚洲欧美日韩在线观看一区二区 | 精品久久久网| 婷婷五月色综合香五月| 亚洲激情久久| 亚洲四虎影院| 国产一区二区三区四区二区| 日本欧美一区二区在线观看| 首页国产欧美日韩丝袜| 婷婷色综合网| 99精品在线观看| 伊人久久av| 动漫av一区| 久久精品国产久精国产| 日韩精品免费观看视频| 亚洲主播在线| 欧美精选一区二区三区| 97国产成人高清在线观看| 国产精品任我爽爆在线播放 | 欧美一区=区| 欧美不卡在线| 99精品美女| 香蕉久久99| 免费av一区二区三区四区| 久久精品不卡| 欧美日中文字幕| 国产一区日韩一区| 999久久久91| 伊人久久大香线蕉av不卡| 精精国产xxxx视频在线野外| 成人一区不卡| 麻豆91在线播放| 国产精品视频一区二区三区 | 精品中文字幕一区二区三区av| 色爱av综合网| 色老板在线视频一区二区| 91tv亚洲精品香蕉国产一区| 播放一区二区| 香蕉国产精品| 亚洲一区国产| 久久高清国产| 蜜臀av国产精品久久久久 | 国产精品hd| 麻豆精品在线播放| 精品中文在线| 毛片在线网站| 激情丁香综合| 99pao成人国产永久免费视频 | 精精国产xxxx视频在线播放| 日韩精品欧美| 国产高清一区二区| 日韩视频一区| 亚洲精品影视| 国产欧美精品| 麻豆精品在线播放| 国产亚洲一区二区手机在线观看| 久久国产直播| 久久亚洲精品伦理| 日本精品一区二区三区在线观看视频 | 精品亚洲a∨一区二区三区18| 日韩不卡一区| 国产综合激情| 免费久久99精品国产| 青青伊人久久| 国产美女高潮在线观看| av亚洲免费| 日韩欧美在线精品| 久久精品福利| 91综合网人人| 久久xxxx| 国产美女精品视频免费播放软件| 精品视频一区二区三区在线观看| 三级精品视频| 亚洲久久视频| 精品国产精品国产偷麻豆| 久久久五月天| 亚洲精品影院在线观看| 日韩avvvv在线播放| 激情不卡一区二区三区视频在线| 欧美丝袜一区| 欧美日韩xxxx| 中文在线免费视频| 香蕉精品999视频一区二区| 91精品一区| 久久男女视频| 日韩精品一区二区三区中文字幕| 日韩成人免费| 综合一区av| 日本一二区不卡| 一级成人国产| 中文字幕在线看片| 色综合视频一区二区三区日韩 | 99久久夜色精品国产亚洲狼 | 视频在线在亚洲| 久久免费影院| 亚洲欧美日韩视频二区| 国产精品a级| 蜜桃一区二区三区| 国产精品久久久久av蜜臀| 激情综合网站| 美日韩一区二区三区| 亚洲尤物在线| 国产高清日韩| 欧美日韩视频| 久久精品网址| 亚洲小说春色综合另类电影| 六月婷婷综合| 18国产精品| 欧美一区二区三区高清视频| 69精品国产久热在线观看| 欧美日韩激情| 久久亚洲国产精品尤物| 中文字幕成人| 久久久久久久久久久9不雅视频|