最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

用js實現(xiàn)放大鏡效果

 更新時間:2020年10月28日 11:13:20   作者:霜色微涼_R  
這篇文章主要為大家詳細介紹了用js實現(xiàn)放大鏡效果,利用背景圖,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了js實現(xiàn)放大鏡效果的具體代碼,供大家參考,具體內(nèi)容如下

該放大區(qū)域用背景圖片放大

<!DOCTYPE html>
<html lang="zh">
 <head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <meta http-equiv="X-UA-Compatible" content="ie=edge">
 <title></title>
 <style type="text/css">
 body {
 height: 1200px;
 background-color: lightskyblue;
 }

 ul {
 margin: 0;
 padding: 0;
 list-style: none;
 }

 .itemarea {
 position: relative;
 width: 500px;
 height: 680px;
 border: 1px black solid;
 margin: 50px auto;
 }

 .itemarea .pic {
 margin-bottom: 15px;
 }

 .itemarea img {
 width: 500px;
 height: 600px;

 }

 .itemarea .pic .cover {
 position: absolute;
 left: 0;
 top: 0;
 width: 200px;
 height: 200px;
 background-image: url(img/7.png);
 opacity: 0.6;
 display: none;
 }

 .itemarea .list {
 display: flex;

 }

 .itemarea .list li {
 margin: auto;
 }

 .itemarea .list img {
 display: block;
 width: 50px;
 height: 50px;
 }

 .itemarea .detail {
 position: absolute;
 top: 0;
 left: 500px;
 /* 此處為放大2倍,顯示框的大小是遮陰框?qū)捀叩?倍 */
 width: 400px;
 height: 400px;
 display: none;
 border: 1px black solid;
 background: url(img/1.PNG);
 /* 此處放大2倍,背景圖片的寬高是左邊顯示圖片的2倍 */
 background-size: 1000px 1200px;
 /* background-size: 200%; 或者這樣寫*/

 }

 .itemarea .list .current {
 border: 2px green solid;
 }
 </style>
 </head>
 <body>
 <div class="itemarea">
 <div class="pic">
 <img src="img/1.PNG">
 <div class="cover"></div>
 </div>
 <ul class="list">
 <li><img src="img/1.PNG"></li>
 <li><img src="img/2.PNG"></li>
 <li><img src="img/3.PNG"></li>
 <li><img src="img/4.PNG"></li>
 <li><img src="img/5.PNG"></li>
 <li><img src="img/6.PNG"></li>
 </ul>
 <div class="detail">

 </div>
 </div>
 <script type="text/javascript">
 /* 
 需求
 1,鼠標放入圖片時候,會動態(tài)修改圖片地址
 2,鼠標放入大圖,會動態(tài)修改右邊圖片位置
 2.1顯示圖片的放大鏡,
 2.2顯示右邊效果
 */
 var itemarea = document.querySelector(".itemarea");
 var list = document.querySelector(".list");
 /* 上面的大圖片 */
 img = document.querySelector(".pic img");
 /* 所有的圖片 */
 imgs = list.querySelectorAll("img");
 /* 主圖片展示區(qū)域 */
 pic = document.querySelector(".itemarea .pic");
 /* 放大鏡 */
 cover = document.querySelector(".cover");
 /* 放大的區(qū)域 */
 detail = document.querySelector(".detail");
 /* 監(jiān)聽事件,切換圖片src */
 list.addEventListener("mousemove", function(e) {
 if (e.target.tagName == "IMG") {
  img.src = e.target.src;
  detail.style.backgroundImage = "url(" + e.target.src + ")";
  /* 遍歷 所有邊框都為空*/
  imgs.forEach(function(item) {
  item.className = "";
  })
  /* 選中的改變邊框顏色*/
  e.target.className = "current";
 }
 })
 pic.addEventListener("mousemove", function(e) {
 /* 放大鏡距離瀏覽器的距離 */
 var x = e.clientX;
 y = e.clientY;
 /* 圖片框距離瀏覽器的距離 */
 cx = pic.getBoundingClientRect().left;
 cy = pic.getBoundingClientRect().top;
 tx = x - cx - 100;
 ty = y - cy - 100;
 if (tx < 0) {
  tx = 0;
 }
 if (ty < 0) {
  ty = 0;
 }
 /* 顯示圖片寬-遮陰框的寬 */
 if (tx >300) {
  tx = 300;
 }
 /* 顯示圖片高-遮陰框的高 */
 if (ty > 400) {
  ty = 400;
 }
 cover.style.left = tx + "px";
 cover.style.top = ty + "px";
 /* 根據(jù)遮陰框在盒子的移動距離百分比------對應(yīng)放映框在大圖片的移動距離百分比 */
 /* tx,ty/遮陰框的極限范圍 */
 detail.style.backgroundPosition = tx / 300 * 100 + "%" + ty / 400 * 100 + "%";
 })
 /* 移除隱藏 */
 itemarea.onmouseout = function() {
 cover.style.display = "none";
 detail.style.display = "none"
 }
 itemarea.onmouseover = function() {
 cover.style.display = "block";
 detail.style.display = "block";
 }
 </script>
 </body>
</html>

效果如下:

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • javascript操作ul中l(wèi)i的方法

    javascript操作ul中l(wèi)i的方法

    這篇文章主要介紹了javascript操作ul中l(wèi)i的方法,可實現(xiàn)鼠標經(jīng)過li標簽項對應(yīng)改變背景色的功能,涉及javascript鼠標事件及頁面元素屬性的相關(guān)操作技巧,需要的朋友可以參考下
    2015-05-05
  • 微信小程序中的上拉、下拉菜單功能

    微信小程序中的上拉、下拉菜單功能

    這篇文章主要介紹了微信小程序中的上拉、下拉菜單功能,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • 靈活使用數(shù)組制作圖片切換js實現(xiàn)

    靈活使用數(shù)組制作圖片切換js實現(xiàn)

    這篇文章主要介紹了靈活使用數(shù)組制作圖片切換效果,js實現(xiàn)圖片切換特效,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-07-07
  • 關(guān)于javascript中的promise的用法和注意事項(推薦)

    關(guān)于javascript中的promise的用法和注意事項(推薦)

    這篇文章主要介紹了關(guān)于javascript中的promise的用法和注意事項,需要的朋友可以參考下
    2021-01-01
  • JavaScript異步編程:異步數(shù)據(jù)收集的具體方法

    JavaScript異步編程:異步數(shù)據(jù)收集的具體方法

    我們先嘗試在不借助任何工具函數(shù)的情況下來解決這個問題。筆者能想到的最簡單的方法是:因前一個readFile的回調(diào)運行下一個readFile,同時跟蹤記錄迄今已觸發(fā)的回調(diào)次數(shù),并最終顯示輸出。下面是筆者的實現(xiàn)結(jié)果。
    2013-08-08
  • 由JavaScript技術(shù)實現(xiàn)的web小游戲(不含網(wǎng)游)

    由JavaScript技術(shù)實現(xiàn)的web小游戲(不含網(wǎng)游)

    伴隨Ajax與網(wǎng)頁游戲的崛起,曾幾何時JavaScript也成了游戲開發(fā)時可供選擇的技術(shù)之一,文本 僅列舉數(shù)項由JavaScript技術(shù)實現(xiàn)的web小游戲(不含網(wǎng)游),聊作參考之用。
    2010-06-06
  • JS實用案例之輸入智能提示(打字機輸出效果)

    JS實用案例之輸入智能提示(打字機輸出效果)

    最近在項目需求中遇到之前沒有做過的功能,下面這篇文章主要給大家介紹了關(guān)于JS實用案例之輸入智能提示,文中通過實例代碼介紹的非常詳細,打字機輸出效果的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • js實現(xiàn)點擊圖片改變頁面背景圖的方法

    js實現(xiàn)點擊圖片改變頁面背景圖的方法

    這篇文章主要介紹了js實現(xiàn)點擊圖片改變頁面背景圖的方法,實例分析了javascript操作css與圖片的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-02-02
  • js中用window.open()打開多個窗口的name問題

    js中用window.open()打開多個窗口的name問題

    這篇文章主要介紹了js中用window.open()打開多個窗口的問題,需要的朋友可以參考下
    2014-03-03
  • JavaScript中set與get方法用法示例

    JavaScript中set與get方法用法示例

    這篇文章主要介紹了JavaScript中set與get方法用法,簡單描述了set與get方法的功能,并結(jié)合實例形式分析了set與get方法的具體使用技巧,需要的朋友可以參考下
    2018-08-08

最新評論

沙雅县| 神池县| 公安县| 金乡县| 武城县| 沭阳县| 哈尔滨市| 扬州市| 仙居县| 普洱| 乌苏市| 平阳县| 兰溪市| 沂源县| 龙胜| 东乌珠穆沁旗| 建平县| 甘孜县| 丰原市| 濉溪县| 泽普县| 新密市| 英山县| 南投县| 全州县| 红安县| 凤山县| 宜都市| 皮山县| 永德县| 乌拉特前旗| 景泰县| 嘉峪关市| 博野县| 利川市| 专栏| 云南省| 广水市| 青海省| 沭阳县| 浏阳市|