jquery插件jquery.dragscale.js實(shí)現(xiàn)拖拽改變?cè)卮笮〉姆椒?附demo源碼下載)
本文實(shí)例講述了jquery插件jquery.dragscale.js實(shí)現(xiàn)拖拽改變?cè)卮笮〉姆椒?。分享給大家供大家參考,具體如下:
該插件是文章作者所寫(xiě),目的在于提升作者的js能力,也給一些js菜鳥(niǎo)在使用插件時(shí)提供一些便利,老鳥(niǎo)就悠然地飛過(guò)吧。
此插件旨在實(shí)現(xiàn)目前較為流行的拖拽改變?cè)卮笮〉男Ч?,您可以根?jù)自己的實(shí)際需求來(lái)設(shè)置被拖拽元素的最小寬高和最大寬高。整體代碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>無(wú)標(biāo)題文檔</title> <style> *{margin:0;padding:0;} .box{position:absolute;left:100px;top:100px;border:1px solid #eee;width:150px;height:150px;padding:10px;cursor:move;} .drag{position:absolute;bottom:3px;right:3px;display:block;width:7px;height:7px;background:url(scale.png) no-repeat} </style> <script type="text/javascript" src="jquery-1.7.1.js"></script> <script type="text/javascript" src="jquery.resizable.js"></script> </head> <body> <div class="box">拖拽我吧!<span class="drag"></span></div> <script> $(function(){ $(".drag").resizable({ minW : 150, minH : 150, maxW : 500, maxH : 500, }); }) </script> </body> </html>
插件 jquery.dragscale.js 代碼:
/* *resizable 0.1 *Dependenc jquery-1.7.1.js */ ;(function(a){ a.fn.resizable = function(options){ var defaults = { //默認(rèn)參數(shù) minW : 150, minH : 150, maxW : 500, maxH : 500, } var opts = a.extend(defaults, options); this.each(function(){ var obj = a(this); obj.mousedown(function(e){ var e = e || event; //區(qū)分IE和其他瀏覽器事件對(duì)象 var x = e.pageX - obj.position().left; //獲取鼠標(biāo)距離匹配元素的父元素左側(cè)的距離 var y = e.pageY - obj.position().top; //獲取鼠標(biāo)距離匹配元素的父元素頂端的距離 $(document).mousemove(function(e){ var e = e || event; var _x = e.pageX - x; //動(dòng)態(tài)獲取匹配元素距離其父元素左側(cè)的寬度 var _y = e.pageY - y; _x = _x < opts.minW ? opts.minW : _x; //保證匹配元素的最小寬度為150px _x = _x > opts.maxW ? opts.maxW : _x; //保證匹配元素的最大寬度為500px _y = _y < opts.minH ? opts.minH : _y; _y = _y > opts.maxH ? opts.maxH : _y; obj.parent().css({width:_x,height:_y}); }).mouseup(function(){ $(this).unbind("mousemove"); //當(dāng)鼠標(biāo)抬起 刪除移動(dòng)事件 匹配元素寬高變化停止 }); }); }) } })(jQuery);
完整實(shí)例代碼點(diǎn)擊此處本站下載。
更多關(guān)于jQuery相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《jQuery拖拽特效與技巧總結(jié)》、《jQuery擴(kuò)展技巧總結(jié)》、《jQuery常見(jiàn)經(jīng)典特效匯總》、《jQuery動(dòng)畫(huà)與特效用法總結(jié)》、《jquery選擇器用法總結(jié)》及《jQuery常用插件及用法總結(jié)》
希望本文所述對(duì)大家jQuery程序設(shè)計(jì)有所幫助。
相關(guān)文章
利用JQuery制作符合Web標(biāo)準(zhǔn)的QQ彈出消息
本篇文章主要介紹了利用JQuery制作符合Web標(biāo)準(zhǔn)的QQ彈出消息。這里所說(shuō)的彈出消息指的是在網(wǎng)頁(yè)右下角升起又下去的那種框框,在這里用到了jQuery的自定義動(dòng)畫(huà)2014-01-01淺析JQuery中的html(),text(),val()區(qū)別
jQuery中.html()用為讀取和修改元素的HTML標(biāo)簽,.text()用來(lái)讀取或修改元素的純文本內(nèi)容,.val()用來(lái)讀取或修改表單元素的value值。2014-09-09jQuery實(shí)現(xiàn)輸入框下拉列表樹(shù)插件特效代碼分享
這篇文章主要介紹了jQuery實(shí)現(xiàn)輸入框下拉列表樹(shù)特效,推薦給大家,有需要的小伙伴可以參考下。2015-08-08Jquery實(shí)現(xiàn)圖片預(yù)加載與延時(shí)加載的方法
這篇文章主要介紹了Jquery實(shí)現(xiàn)圖片預(yù)加載與延時(shí)加載的方法,分別介紹了原生javascript與jQuery插件實(shí)現(xiàn)圖片的預(yù)加載及延遲加載的方法,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2014-12-12zTree jQuery 樹(shù)插件的使用(實(shí)例講解)
下面小編就為大家?guī)?lái)一篇zTree jQuery 樹(shù)插件的使用(實(shí)例講解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-09-09jquery.validate表單驗(yàn)證插件使用方法解析
這篇文章主要為大家詳細(xì)介紹了jquery.validate表單驗(yàn)證插件使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11jquery獲取html元素的絕對(duì)位置和相對(duì)位置的方法
這篇文章主要介紹了jquery獲取html元素的絕對(duì)位置和相對(duì)位置的方法,需要的朋友可以參考下2014-06-06