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

首頁 > 編程 > JavaScript > 正文

JavaScript實現(xiàn)圖片的放大縮小及拖拽功能示例

2019-11-19 11:34:40
字體:
供稿:網(wǎng)友

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

實現(xiàn)效果如下:

實現(xiàn)代碼:

<!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;    }  }  //獲取相關(guān)CSS屬性  var getCss = function(o,key){    return o.currentStyle? o.currentStyle[key] : document.defaultView.getComputedStyle(o,false)[key];  };  //拖拽的實現(xiàn)  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>

更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript圖片操作技巧大全》、《JavaScript切換特效與技巧總結(jié)》、《JavaScript運動效果與技巧匯總》、《JavaScript動畫特效與技巧匯總》、《JavaScript錯誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學運算用法總結(jié)

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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 天门市| 桃园县| 都兰县| 贵南县| 新营市| 红原县| 哈尔滨市| 类乌齐县| 壶关县| 绥芬河市| 台州市| 黄浦区| 股票| 华阴市| 隆尧县| 宁强县| 西藏| 镇康县| 青岛市| 五峰| 阳春市| 阿城市| 普格县| 元氏县| 睢宁县| 天台县| 普兰店市| 竹溪县| 犍为县| 昌宁县| 旬阳县| 濉溪县| 门源| 景德镇市| 临澧县| 吉木乃县| 兖州市| 通许县| 贡觉县| 定西市| 唐海县|