成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

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

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

瀏覽:157日期: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
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
色综合激情五月| 久久夜色精品一区| 午夜视黄欧洲亚洲| 亚洲综合一二三区| 亚洲色图.com| 亚洲天堂久久久久久久| 青青青伊人色综合久久| 亚洲国产精品精华液网站| 午夜精品一区二区三区免费视频| 成人av免费观看| 成人av资源在线| 免费在线国产精品| 国产人成亚洲第一网站在线播放 | 国产三级久久久| 久久电影网站中文字幕| 欧美私人啪啪vps| 欧美精品一级二级三级| 欧美日韩精品一区二区三区四区| 综合久久久久久| 播五月开心婷婷综合| 国产一区二区三区成人欧美日韩在线观看 | 国产亚洲二区| 久久久www成人免费无遮挡大片 | 欧美一区2区三区4区公司二百 | 久久综合导航| 亚洲欧美区自拍先锋| 色综合天天天天做夜夜夜夜做| 91在线看国产| 国产精品国产精品| 精品日韩av一区二区| 国产精品你懂的在线欣赏| 国产91在线观看丝袜| 欧美系列日韩一区| 日韩电影一二三区| 免费在线欧美黄色| 一区二区三区在线观看视频| 久久激情五月激情| 国产农村妇女精品一区二区| 国产精品伦一区二区三级视频| 成人18视频在线播放| 91.麻豆视频| 日本午夜精品视频在线观看| 99精品国产一区二区青青牛奶| 色婷婷激情久久| 亚洲精品老司机| 91小视频免费看| 欧美mv日韩mv国产| 国v精品久久久网| 制服视频三区第一页精品| 久久国内精品自在自线400部| 欧美中文字幕| 亚洲一区二区偷拍精品| 亚洲激情亚洲| 国产精品久99| 精品在线视频一区| 欧美色倩网站大全免费| 日本一区二区免费在线| 99vv1com这只有精品| 久久新电视剧免费观看| 成人app软件下载大全免费| 日韩精品一区二区三区在线播放 | 羞羞答答国产精品www一本| 一区二区三区四区高清精品免费观看| 亚洲性视频h| 亚洲精品亚洲人成人网| 国产一区二区高清| 亚洲成人免费av| 久久久久久精| 免费国产亚洲视频| 欧美日韩成人一区| 国产精品一级二级三级| 欧美欧美欧美欧美| 国产精品一区二区久激情瑜伽| 欧美精品自拍偷拍动漫精品| 粉嫩aⅴ一区二区三区四区五区 | 一本到不卡精品视频在线观看| 一区二区三区自拍| 色婷婷综合久久久中文字幕| 日本免费在线视频不卡一不卡二| 日韩三级电影网址| 91一区二区在线观看| 国产精品初高中害羞小美女文| 亚洲伦伦在线| 亚洲无人区一区| 在线观看免费视频综合| 国产一区二区电影| 亚洲精品一区二区三区四区高清| 色综合天天做天天爱| 综合久久久久综合| 久久经典综合| 精品一区二区三区视频| 欧美一区二区三区视频在线 | 国产成人99久久亚洲综合精品| 日韩一区和二区| av在线这里只有精品| 精品国产污污免费网站入口| 欧美一区高清| 亚洲精品中文在线观看| 91福利资源站| 成人视屏免费看| 国产精品免费网站在线观看| 亚洲精品美女91| 美女一区二区三区| 国产精品v欧美精品v日本精品动漫 | 亚洲免费播放| 午夜精品福利一区二区三区蜜桃| 欧美视频在线观看一区| 成人av网址在线| 亚洲欧美另类小说| 欧美色图天堂网| 91香蕉视频mp4| 亚洲综合一二区| 欧美精品色综合| 欧美精品国产一区| 婷婷成人综合网| 欧美一区二区久久久| 午夜精品亚洲一区二区三区嫩草| 亚洲综合999| 欧美日韩国产美女| 成人免费毛片片v| 成人欧美一区二区三区小说| 国产成人超碰人人澡人人澡| 亚洲欧美网站| 国产综合色产在线精品| 中文字幕电影一区| 一本久久精品一区二区| bt7086福利一区国产| 一区二区三区日本| 777午夜精品视频在线播放| 欧美chengren| 亚洲成人免费在线| 欧美久久久久久久久| 午夜精品久久久久99热蜜桃导演 | 国产一区二区高清| 国产精品一区二区在线观看网站| 久久久蜜桃精品| 久久综合伊人77777麻豆| a在线播放不卡| 图片区小说区国产精品视频| 欧美变态tickling挠脚心| 国产精品免费一区二区三区观看 | 精品成人一区| 日韩av中文字幕一区二区| 久久久久久久久久久久久久久99 | 午夜综合激情| 不卡区在线中文字幕| 亚洲自拍与偷拍| 欧美一卡2卡三卡4卡5免费| 国产一区二区三区的电影| 成人精品亚洲人成在线| 一区二区免费视频| 欧美白人最猛性xxxxx69交| 亚洲在线播放| a级精品国产片在线观看| 亚洲亚洲人成综合网络| 精品乱人伦小说| 另类av一区二区| 欧美日韩国产综合视频在线| 韩国精品主播一区二区在线观看 | 精品99视频| 不卡的av中国片| 人妖欧美一区二区| 天天色图综合网| 亚洲成a人在线观看| 亚洲综合在线视频| 亚洲精品久久嫩草网站秘色| 亚洲女同ⅹxx女同tv| 国产精品第五页| 国产精品每日更新| 中文字幕成人在线观看| 国产精品剧情在线亚洲| 国产欧美精品一区| 欧美高清在线视频| 中文字幕高清不卡| 欧美性生活一区| 日韩av一区二区三区四区| 不卡高清视频专区| 色婷婷综合久色| 日韩主播视频在线| 欧美高清一级片在线观看| 久久精品日韩| 久久激情婷婷| 91国产成人在线| 在线视频一区二区三区| 精品视频一区二区不卡| 3atv在线一区二区三区| 日韩欧美国产高清| 久久综合国产精品| 日本一区二区在线不卡| 亚洲欧洲日韩一区二区三区| 一区二区三区在线免费视频| 一区二区三区在线免费| 首页国产欧美日韩丝袜| 另类小说视频一区二区| 久久精品国产99久久6| 激情综合一区二区三区| 国产麻豆精品95视频| 国产69精品久久99不卡| 91视频你懂的| 激情欧美一区|