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

首頁 > 編程 > JavaScript > 正文

jQuery自定義圖片縮放拖拽插件imageQ實現方法(附demo源碼下載)

2019-11-20 09:53:37
字體:
來源:轉載
供稿:網友

本文實例講述了jQuery自定義圖片縮放拖拽插件imageQ實現方法。分享給大家供大家參考,具體如下:

綜合網上一些代碼 自己寫的一個圖片縮放拖拽的小插件

/** * * <a  class='replace_word' title="jQuery知識庫" target='_blank' style='color:#df3434; font-weight:bold;'>jQuery</a> imageQ plugin * @name jquery-imageQ.js * @author Q * @date 2011-01-19 * maxRatio 最大放大比例 * minRatio 最小縮小比例 * changeRadio 每次變化幅度 * picUrl:圖片地址, * picWidth:圖片寬度, * picHeight:圖片高度, * reset:是否重設圖片 * */(function($){  var status = false;  $.fn.imageQ = function(options){    var defaults = {      maxRatio:4,      minRatio:4,      changeRadio:0.2,      picUrl:'',      picWidth:306,      picHeight:372,      reset:false    }    var options=jQuery.extend(defaults,options);    return this.each(function(){      status = true;      $(this).attr('src','');      $(this).attr('src',options.picUrl);      var naturalwidth = options.picWidth;      var naturalheight = options.picHeight;      var minwidth = Math.round(naturalwidth/options.minRatio);      var minheight = Math.round(naturalheight/options.minRatio);      var maxwidth = Math.round(naturalwidth*options.maxRatio);      var maxheight = Math.round(naturalheight*options.maxRatio);      if(options.reset)      {        $("#wrapDiv").css("width",naturalwidth+"px");        $("#wrapDiv").css("height",naturalheight+"px");        $("#wrapDiv").css("top",'0px');        $("#wrapDiv").css("left",'0px');      }      else      {        $(this).css("width","100%");        $(this).css("height","100%");        $(this).wrap("<div id='wrapDiv' style='-moz-user-select: none;width:"+naturalwidth+"px;height:"+naturalheight+"px;cursor:move;position:relative;top:0px;left:0px;visibility: visible;' ondragstart='return false;' onselectstart='return false;'></div>");        $("#wrapDiv").before('<div style="visibility: visible; height: 26px; width: 78px; display: block; position: absolute; line-height: 1px; cursor: pointer; left: 0px; top: 0px;z-index:1;"><div id="plusTool"></div><div id="minusTool"></div><div id="moveTool"></div></div>');        //$("#wrapDiv").append('<div style="display: block; position: relative; left: 0px; top: 0px; width: 100%; height: 100%; -moz-user-select: none;" id="uploaduserpng"></div>');        $("#plusTool").attr('title','放大');        $("#minusTool").attr('title','縮小');        $("#moveTool").attr('title','拖動');        $("#plusTool").bind("click",function(){          _changeOperate('plus');        });        $("#minusTool").bind("click",function(){          _changeOperate('minus');        });        $("#moveTool").bind("click",function(){          _changeOperate('move');        });        function plusOperate()        {          $("#wrapDiv").unbind();          $("#wrapDiv").unbind();          $("#wrapDiv").bind("click",function(){              var h = $("#wrapDiv").height();              var w = $("#wrapDiv").width();              if(Math.round(h*(1+options.changeRadio)) >= maxheight)              {                var newH = maxheight;              }              else              {                var newH = Math.round(h*(1+options.changeRadio));              }              if(Math.round(w*(1+options.changeRadio)) >= maxwidth)              {                var newW = maxwidth;              }              else              {                var newW = Math.round(w*(1+options.changeRadio));              }              $("#wrapDiv").css("width",newW+"px");              $("#wrapDiv").css("height",newH+"px");            });        }        function minusOperate()        {          $("#wrapDiv").unbind();          $("#wrapDiv").unbind();          $("#wrapDiv").bind("click",function(){              var h = $("#wrapDiv").height();              var w = $("#wrapDiv").width();              if(Math.round(h*(1-options.changeRadio)) <= minheight)              {                var newH = minheight;              }              else              {                var newH = Math.round(h*(1-options.changeRadio));              }              if(Math.round(w*(1-options.changeRadio)) <= minwidth)              {                var newW = minwidth;              }              else              {                var newW = Math.round(w*(1-options.changeRadio));              }              $("#wrapDiv").css("width",newW+"px");              $("#wrapDiv").css("height",newH+"px");            });        }        function moveOperate()        {          $("#wrapDiv").unbind();          var _move = false;          var _x,_y;          $("#wrapDiv").bind("mousedown",function(e){            _setCursor('grabbing');            _move = true;            if(!document.all)            {              _x = e.pageX - parseInt($("#wrapDiv").css("left"));              _y = e.pageY - parseInt($("#wrapDiv").css("top"));            }            else            {              var pagex = e.clientX+(document.documentElement.scrollLeft?document.documentElement.scrollLeft:document.body.scrollLeft);              var pagey = e.clientY+(document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop);              _x = pagex - parseInt($("#wrapDiv").css("left"));              _y = pagey - parseInt($("#wrapDiv").css("top"));            }          });          $("#wrapDiv").bind("mouseup",function(e){            _setCursor('grab');            _move = false;          });          $("#wrapDiv").bind("mousemove",function(e){            if(_move)            {              if(!document.all)              {                var pagex = e.pageX;                var pagey = e.pageY;              }              else              {                var pagex = e.clientX+(document.documentElement.scrollLeft?document.documentElement.scrollLeft:document.body.scrollLeft);                var pagey = e.clientY+(document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop);              }              var x = pagex-_x;              var y = pagey-_y;              $("#wrapDiv").css("top",y);              $("#wrapDiv").css("left",x);            }          });        }        function _setCursor(type){          $("#wrapDiv").css("cursor","url('images/cursors/"+type+".cur'),default");        }        function _changeOperate(operate)        {          if(operate == 'plus')          {            _setCursor('zoom-in');            plusOperate();          }          if(operate == 'minus')          {            _setCursor('zoom-out');            minusOperate();          }          if(operate == 'move')          {            _setCursor('grab');            moveOperate();          }        }      }    });  };  $.fn.imageQ.getStatus = function()  {    return status;  };})(jQuery);

完整實例代碼點擊此處本站下載

PS:在此小編為大家推薦幾款javascript格式化美化工具,相信在以后的開發中可以派上用場:

C語言風格/HTML/CSS/json代碼格式化美化工具:
http://tools.VeVB.COm/code/ccode_html_css_json

在線JavaScript代碼美化、格式化工具:
http://tools.VeVB.COm/code/js

JavaScript代碼美化/壓縮/格式化/加密工具:
http://tools.VeVB.COm/code/jscompress

在線JSON代碼檢驗、檢驗、美化、格式化工具:
http://tools.VeVB.COm/code/json

json代碼在線格式化/美化/壓縮/編輯/轉換工具:
http://tools.VeVB.COm/code/jsoncodeformat

更多關于jQuery相關內容感興趣的讀者可查看本站專題:《jQuery常用插件及用法總結》、《jQuery表格(table)操作技巧匯總》、《jQuery拖拽特效與技巧總結》、《jQuery擴展技巧總結》、《jQuery常見經典特效匯總》、《jQuery動畫與特效用法總結》、《jquery中Ajax用法總結》及《jquery選擇器用法總結

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 博爱县| 泸州市| 三亚市| 涞水县| 沁源县| 阿城市| 新乡县| 庆元县| 沿河| 紫云| 双桥区| 盐源县| 黔江区| 宝清县| 景宁| 洱源县| 临湘市| 原平市| 资中县| 巩留县| 阳春市| 静安区| 油尖旺区| 达尔| 澄城县| 山阴县| 巴林左旗| 临猗县| 方山县| 华阴市| 茌平县| 本溪市| 水城县| 景宁| 莒南县| 嘉荫县| 新营市| 新河县| 徐水县| 同仁县| 新干县|