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

JS滾輪控制圖片縮放大小和拖動的實(shí)例代碼

 更新時間:2018年11月20日 08:37:36   作者:小角色Byme  
本文通過實(shí)例代碼給大家介紹了js 滾輪控制圖片縮放大小和拖動,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值 ,需要的朋友可以參考下

具體代碼如下所示:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <style>
  .dragAble {
    position: relative;
    cursor: move;
  }
  .img-con {
    position: relative;
    width: 713px;
    height: 455px;
    overflow: hidden;
    border: 1px solid red;
  }
  </style>
</head>
<body>
  <p class="img-con"><img src="http://img03.tooopen.com/uploadfile/downs/images/20110714/sy_20110714135215645030.jpg" class="dragAble" /></p>
  <script type="text/javascript" charset="utf-8">
  window.onload = function() {
      var oImg = document.getElementsByTagName("img")[0];
      function fnWheel(obj, fncc) {
        obj.onmousewheel = fn;
        if (obj.addEventListener) {
          obj.addEventListener('DOMMouseScroll', fn, false);
        }
        function fn(ev) {
          var oEvent = ev || window.event;
          var down = true;
          if (oEvent.detail) {
            down = oEvent.detail > 0
          } else {
            down = oEvent.wheelDelta < 0
          }
          if (fncc) {
            fncc.call(this, down, oEvent);
          }
          if (oEvent.preventDefault) {
            oEvent.preventDefault();
          }
          return false;
        }
      };
      fnWheel(oImg, function(down, oEvent) {
        var oldWidth = this.offsetWidth;
        var oldHeight = this.offsetHeight;
        var oldLeft = this.offsetLeft;
        var oldTop = this.offsetTop;
        var scaleX = (oEvent.clientX - oldLeft) / oldWidth; //比例
        var scaleY = (oEvent.clientY - oldTop) / oldHeight;
        if (down) {
          this.style.width = this.offsetWidth * 0.9 + "px";
          this.style.height = this.offsetHeight * 0.9 + "px";
        } else {
          this.style.width = this.offsetWidth * 1.1 + "px";
          this.style.height = this.offsetHeight * 1.1 + "px";
        }
        var newWidth = this.offsetWidth;
        var newHeight = this.offsetHeight;
        this.style.left = oldLeft - scaleX * (newWidth - oldWidth) + "px";
        this.style.top = oldTop - scaleY * (newHeight - oldHeight) + "px";
      });
    }
    <!--
    //拖拽
  var ie = document.all;
  var nn6 = document.getElementByIdx && !document.all;
  var isdrag = false;
  var y, x;
  var oDragObj;
  function moveMouse(e) {
    if (isdrag) {
      oDragObj.style.top = (nn6 ? nTY + e.clientY - y : nTY + event.clientY - y) + "px";
      oDragObj.style.left = (nn6 ? nTX + e.clientX - x : nTX + event.clientX - x) + "px";
      return false;
    }
  }
  function initDrag(e) {
    var oDragHandle = nn6 ? e.target : event.srcElement;
    var topElement = "HTML";
    while (oDragHandle.tagName != topElement && oDragHandle.className != "dragAble") {
      oDragHandle = nn6 ? oDragHandle.parentNode : oDragHandle.parentElement;
    }
    if (oDragHandle.className == "dragAble") {
      isdrag = true;
      oDragObj = oDragHandle;
      nTY = parseInt(oDragObj.style.top + 0);
      y = nn6 ? e.clientY : event.clientY;
      nTX = parseInt(oDragObj.style.left + 0);
      x = nn6 ? e.clientX : event.clientX;
      document.onmousemove = moveMouse;
      return false;
    }
  }
  document.onmousedown = initDrag;
  document.onmouseup = new Function("isdrag=false");
  </script>
</body>
</html>

只縮放

<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<img border="0" src="http://img03.tooopen.com/uploadfile/downs/images/20110714/sy_20110714135215645030.jpg" onmousewheel="return rollImg(this)">
</body>
<script language="javascript">
function rollImg(o){
  /* 獲取當(dāng)前頁面的縮放比
    若未設(shè)置zoom縮放比,則為默認(rèn)100%,即1,原圖大小
  */ 
  var zoom=parseInt(o.style.zoom)||100;
  /* event.wheelDelta 獲取滾輪滾動值并將滾動值疊加給縮放比zoom
    wheelDelta統(tǒng)一為±120,其中正數(shù)表示為向上滾動,負(fù)數(shù)表示向下滾動
  */
  zoom+=event.wheelDelta/12;
  /* 如果縮放比大于0,則將縮放比加載到頁面元素 */
  if (zoom>0) o.style.zoom=zoom+'%';
  /* 如果縮放比不大于0,則返回false,不執(zhí)行操作 */
  return false;
}
</script>
</html>

總結(jié)

以上所述是小編給大家介紹的JS滾輪控制圖片縮放大小和拖動的實(shí)例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • Javascript String 字符串操作包

    Javascript String 字符串操作包

    提供一個 JS String 包,包含了一些常用的對字符串操作的函數(shù),詳細(xì)的請看源碼及演示
    2010-10-10
  • httpclient模擬登陸具體實(shí)現(xiàn)(使用js設(shè)置cookie)

    httpclient模擬登陸具體實(shí)現(xiàn)(使用js設(shè)置cookie)

    最簡單的方法就是通過得到的cookie定制一個httpclient,感興趣的朋友可以了解下本文
    2013-12-12
  • 微信小程序?qū)崿F(xiàn)拍照打卡功能

    微信小程序?qū)崿F(xiàn)拍照打卡功能

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)拍照打卡功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • JavaScript中的Proxy對象

    JavaScript中的Proxy對象

    這篇文章主要介紹了JavaScript中的Proxy對象的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)JavaScript,感興趣的朋友可以了解下
    2020-11-11
  • 必備的JS調(diào)試技巧匯總

    必備的JS調(diào)試技巧匯總

    試想一下:出現(xiàn)了某個bug,有人用幾分鐘就搞定了,有人用了半天或者一天都找不到原因所在。你愿意當(dāng)前者還是后者呢?想當(dāng)前者的就請好好看完本篇文章吧。文中涉及較多Gif演示動畫請注意。
    2016-07-07
  • 解決js中的setInterval清空定時器不管用問題

    解決js中的setInterval清空定時器不管用問題

    這篇文章主要介紹了解決js中的setInterval清空定時器不管用問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • javascript中eval和with用法實(shí)例總結(jié)

    javascript中eval和with用法實(shí)例總結(jié)

    這篇文章主要介紹了javascript中eval和with用法,結(jié)合實(shí)例形式總結(jié)分析了JavaScript中eval和with的功能、用法與相關(guān)注意事項(xiàng),具有一定參考借鑒價值,需要的朋友可以參考下
    2015-11-11
  • js圖片模糊切換顯示特效的方法

    js圖片模糊切換顯示特效的方法

    這篇文章主要介紹了js圖片模糊切換顯示特效的方法,涉及js操作圖片特效的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-02-02
  • JavaScript實(shí)現(xiàn)淘寶商品圖切換效果

    JavaScript實(shí)現(xiàn)淘寶商品圖切換效果

    這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)淘寶商品圖切換效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-04-04
  • JavaScript數(shù)組方法-系統(tǒng)性總結(jié)詳解

    JavaScript數(shù)組方法-系統(tǒng)性總結(jié)詳解

    本文是小編給大家特意整理的關(guān)于js數(shù)組方法的知識,非常實(shí)用,在面試筆試題中經(jīng)常用得到,有需要的朋友可以參考下
    2021-09-09

最新評論

新乡市| 伊通| 吴堡县| 长葛市| 富源县| 遵化市| 准格尔旗| 毕节市| 杭锦旗| 河间市| 浮梁县| 怀宁县| 浦江县| 敦化市| 当涂县| 库伦旗| 西安市| 剑川县| 紫金县| 湘乡市| 敦化市| 石河子市| 西畴县| 深圳市| 旌德县| 磴口县| 陇川县| 六安市| 洛隆县| 铜陵市| 互助| 元谋县| 寿阳县| 广宁县| 南投县| 海门市| 黔江区| 拉萨市| 乐东| 永州市| 巴林右旗|