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

原生js實(shí)現(xiàn)放大鏡

 更新時(shí)間:2017年02月20日 14:40:45   作者:前端工程師_錢成  
本文主要分享了原生js實(shí)現(xiàn)放大鏡效果的示例代碼,具有很好的參考價(jià)值,下面跟著小編一起來看下吧

原理:左邊陰影在左邊圖片上從左到右移動的時(shí)候,右邊大框也在右邊大圖片上從左到右移動(盡管在視覺、原理和代碼上是相反的);所謂放大,其實(shí)就是一張?jiān)揪秃苄〉膱D對應(yīng)一張?jiān)揪秃艽蟮膱D。

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title></title>
  <style>
    *{
      margin:0;
      padding:0;
    }
    .small{
      width: 400px;
      height: 400px;
      position: relative;
      background: url(http://www.qdfuns.com/misc.php?mod=attach&genre=editor&aid=7dca2c442134be6a652e087296c8ac80) no-repeat center;
      border: 1px solid #ccc;
    }
    .small .inner{
      width: 100px;
      height: 100px;
      background: yellow;
      opacity: 0.5;
      filter: alpha(opacity=50);
      position: absolute;
      left:0;
      top:0;
      display: none;
    }
    .big{
      width: 400px;
      height: 400px;
      position: absolute;
      left:410px;
      top:0;
      overflow: hidden;
      border: 1px solid #ccc;
      display: none;
    }
    .big img{
      width: 200%;
      height: 200%;
      position: absolute;
      left:0;
      top:0;
    }
  </style>
</head>
<body>
<div id="small" class="small">
  <div class="inner"></div>
</div>
<div id="big" class="big">
  <img src="http://www.qdfuns.com/misc.php?mod=attach&genre=editor&aid=d7dec5aeff022ea80c47eb76dc5838d8" alt=""/>
</div>
<script>
  var small=document.getElementById('small');
  var inner=small.getElementsByTagName('div')[0];
  var big=document.getElementById('big');
  var img=big.getElementsByTagName('img')[0];
  //當(dāng)鼠標(biāo)移入small的時(shí)候,inner和big顯示
  small.onmouseover=function(){
    big.style.display='block';
    inner.style.display='block';
  };
  //當(dāng)鼠標(biāo)在small移動的時(shí)候:1)鼠標(biāo)在inner的中間 2)inner跟隨鼠標(biāo)移動
  small.onmousemove=function(e){
    e=e||window.event;
    var left=e.clientX-this.offsetLeft-inner.offsetWidth/2;
    var top=e.clientY-this.offsetTop-inner.offsetHeight/2;
    if(left<=0){
      left=0;
    }else if(left>=this.offsetWidth-inner.offsetWidth){
      left=this.offsetWidth-inner.offsetWidth
    }
    if(top<=0){
      top=0;
    }else if(top>=this.offsetHeight-inner.offsetHeight){
      top=this.offsetHeight-inner.offsetHeight
    }
    inner.style.left= left+'px';
    inner.style.top= top+'px';
    //當(dāng)inner移動的時(shí)候,大圖跟著一起移動,并且,大圖和inner移動的方向相反;
    //或者理解為:左邊陰影在圖片上從左到右移動的時(shí)候,右邊大框也在大圖片上從左到右移動(盡管視覺上是相反的)。
    img.style.left=left/(small.offsetWidth-inner.offsetWidth)*(big.offsetWidth-img.offsetWidth)+'px';
    img.style.top=top/(small.offsetHeight-inner.offsetHeight)*(big.offsetHeight-img.offsetHeight)+'px';
  };
  //當(dāng)鼠標(biāo)移出的時(shí)候,inner和big隱藏;
  small.onmouseout=function(){
    big.style.display='none';
    inner.style.display='none';
  }
</script>
</body>
</html>

以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時(shí)也希望多多支持腳本之家!

相關(guān)文章

  • 自定義javascript驗(yàn)證框架示例【附源碼下載】

    自定義javascript驗(yàn)證框架示例【附源碼下載】

    這篇文章主要介紹了自定義javascript驗(yàn)證框架,結(jié)合實(shí)例形式分析了javascript正則驗(yàn)證相關(guān)操作技巧,并附帶源碼供讀者下載參考,需要的朋友可以參考下
    2019-05-05
  • 情人節(jié)單身的我是如何在敲完代碼之后收到12束玫瑰的(javascript)

    情人節(jié)單身的我是如何在敲完代碼之后收到12束玫瑰的(javascript)

    這篇文章主要介紹了情人節(jié)單身的我是如何在敲完代碼之后收到12束玫瑰的,感興趣的朋友一起來學(xué)習(xí)下
    2015-08-08
  • HTML+CSS+JavaScript做女朋友版的刮刮樂(一看就會)

    HTML+CSS+JavaScript做女朋友版的刮刮樂(一看就會)

    這篇文章主要介紹了HTML+CSS+JavaScript做女朋友版的刮刮樂(一看就會)本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-08-08
  • javascript 打印內(nèi)容方法小結(jié)

    javascript 打印內(nèi)容方法小結(jié)

    關(guān)于JS打印問題!網(wǎng)上收集+自己總結(jié) ,需要的朋友可以參考下。
    2009-11-11
  • JavaScript中的事件處理程序

    JavaScript中的事件處理程序

    這篇文章介紹了JavaScript中的事件處理程序,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-04-04
  • 在JavaScript 中按字母排序之如何在 JS 中按名稱排序

    在JavaScript 中按字母排序之如何在 JS 中按名稱排序

    有時(shí)你可能有一個(gè)單詞數(shù)組,你想按字母順序(從 a-z)對每個(gè)單詞進(jìn)行排序,或者你可能有一個(gè)包含用戶信息(包括名字)的對象數(shù)組,例如,你想按照用戶的名字來排序,接下來通過本文給大家介紹在JavaScript 中按字母排序之如何在 JS 中按名稱排序,需要的朋友可以參考下
    2023-09-09
  • JavaScript實(shí)現(xiàn)圖形驗(yàn)證碼完整代碼

    JavaScript實(shí)現(xiàn)圖形驗(yàn)證碼完整代碼

    很多小伙伴都在學(xué)習(xí)JavaScript,可能也會有老師提出這樣一個(gè)問題,如何用js編寫一個(gè)簡單的驗(yàn)證碼,這里就和大家分享一下,這篇文章主要給大家介紹了關(guān)于JavaScript實(shí)現(xiàn)圖形驗(yàn)證碼的相關(guān)資料,需要的朋友可以參考下
    2024-01-01
  • js實(shí)現(xiàn)購物車加減和價(jià)格運(yùn)算

    js實(shí)現(xiàn)購物車加減和價(jià)格運(yùn)算

    這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)購物車加減和價(jià)格運(yùn)算,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • Bootstrap中datetimepicker使用小結(jié)

    Bootstrap中datetimepicker使用小結(jié)

    這篇文章主要為大家詳細(xì)介紹了Bootstrap中datetimepicker的使用方法,一款功能強(qiáng)大的日期選擇控件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • IE 下的只讀 innerHTML

    IE 下的只讀 innerHTML

    可以先使用 DOM 的 createElement 方法創(chuàng)建 tr 和 td,然后對 td 的 innerHTML 進(jìn)行相應(yīng)操作,最后用 appendChild 方法把創(chuàng)建的元素添加到 DOM 樹中。這樣在 IE 下就可以正常運(yùn)行了。
    2009-08-08

最新評論

三河市| 白水县| 贡嘎县| 治多县| 东山县| 铜山县| 铜川市| 长泰县| 密云县| 鄂托克旗| 东乡县| 乾安县| 佛坪县| 德保县| 贵定县| 桂林市| 晴隆县| 荃湾区| 五莲县| 南川市| 湖南省| 澄江县| 原平市| 皮山县| 上饶市| 明光市| 岑巩县| 宜州市| 潞城市| 花垣县| 黔南| 镇雄县| 四川省| 秦皇岛市| 汕尾市| 揭阳市| 合山市| 大渡口区| 乌兰察布市| 肇东市| 富顺县|