国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > JS > 正文

JavaScript實現圖片的放大縮小及拖拽功能示例

2024-05-06 16:50:55
字體:
來源:轉載
供稿:網友

本文實例講述了JavaScript實現圖片的放大縮小及拖拽功能。分享給大家供大家參考,具體如下:

實現效果如下:

JavaScript,圖片,放大,縮小,拖拽

實現代碼:

<!DOCTYPE html><html lang="en"><head>  <meta charset="UTF-8">  <title>Title</title>  <style>    div{width:400px;height:400px;overflow:hidden;position:relative;border:1px solid #000;}    div img{position:absolute;height:100%;width:auto;cursor:move;}  </style></head><body><div id="div" onmousewheel="return bbimg(this)"><img id="img" border="0" src="img/zs.jpg" /></div><script language="javascript">  var params = {    zoomVal:1,    left: 0,    top: 0,    currentX: 0,    currentY: 0,    flag: false  };  //圖片縮放  function bbimg(o){    var o=o.getElementsByTagName("img")[0];    params.zoomVal+=event.wheelDelta/1200;    if (params.zoomVal >= 0.2) {      o.style.transform="scale("+params.zoomVal+")";    } else {      params.zoomVal=0.2;      o.style.transform="scale("+params.zoomVal+")";      return false;    }  }  //獲取相關CSS屬性  var getCss = function(o,key){    return o.currentStyle? o.currentStyle[key] : document.defaultView.getComputedStyle(o,false)[key];  };  //拖拽的實現  var startDrag = function(bar, target, callback){    if(getCss(target, "left") !== "auto"){      params.left = getCss(target, "left");    }    if(getCss(target, "top") !== "auto"){      params.top = getCss(target, "top");    }    //o是移動對象    bar.onmousedown = function(event){      params.flag = true;      if(!event){        event = window.event;        //防止IE文字選中        bar.onselectstart = function(){          return false;        }      }      var e = event;      params.currentX = e.clientX;      params.currentY = e.clientY;    };    document.onmouseup = function(){      params.flag = false;      if(getCss(target, "left") !== "auto"){        params.left = getCss(target, "left");      }      if(getCss(target, "top") !== "auto"){        params.top = getCss(target, "top");      }    };    document.onmousemove = function(event){      var e = event ? event: window.event;      if(params.flag){        var nowX = e.clientX, nowY = e.clientY;        var disX = nowX - params.currentX, disY = nowY - params.currentY;        target.style.left = parseInt(params.left) + disX+ "px";        target.style.top = parseInt(params.top) + disY+ "px";        if (typeof callback == "function") {          callback((parseInt(params.left) || 0) + disX, (parseInt(params.top) || 0) + disY);        }        if (event.preventDefault) {          event.preventDefault();        }        return false;      }    }  };  startDrag(document.getElementById("img"),document.getElementById("img"))</script></body></html>

希望本文所述對大家JavaScript程序設計有所幫助。


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宜君县| 拉孜县| 大兴区| 定远县| 黄大仙区| 丰城市| 阿鲁科尔沁旗| 镇平县| 桐庐县| 双流县| 剑川县| 资兴市| 商南县| 肥乡县| 张家界市| 仪陇县| 饶平县| 嘉鱼县| 桃江县| 土默特左旗| 三门县| 普兰店市| 泾阳县| 江都市| 桑日县| 北川| 威信县| 徐汇区| 瑞昌市| 仙桃市| 金阳县| 黑水县| 平罗县| 乌海市| 高安市| 布尔津县| 合山市| 社会| 治县。| 华宁县| 介休市|