js實(shí)現(xiàn)鼠標(biāo)拖拽縮放div實(shí)例代碼
封裝為了jq插件,如下
drag.js
;(function ($) {
$.fn.dragDiv = function (options) {
var def = {
maxW:600,// 可伸縮的最大寬度
minW:50// 可伸縮的最小寬度
};// 參數(shù)默認(rèn)值
var opts = $.extend(def,options);// 擴(kuò)展參數(shù),使用默認(rèn)值或傳參
//設(shè)置最大/最小寬度
var max_width = opts.maxW,
min_width = opts.minW;
//記錄鼠標(biāo)相對(duì)left盒子x軸位置
var mouse_x = 0;
var left = $(this).parent('div')[0];
//鼠標(biāo)移動(dòng)事件
function mouseMove(e) {
var e = e || window.event;
var left_width = e.clientX - mouse_x;// 可伸縮div的寬度
left_width = left_width < min_width ? min_width : left_width;
left_width = left_width > max_width ? max_width : left_width;
left.style.width = left_width + "px";
}
//終止事件
function mouseUp() {
document.onmousemove = null;
document.onmouseup = null;
}
$(this).mousedown(function (e) {
var e = e || window.event;
//阻止默認(rèn)事件
e.preventDefault();
mouse_x = e.clientX - left.offsetWidth;// 可伸縮div距離左側(cè)邊界的寬度
document.onmousemove = function () {
mouseMove()
};
document.onmouseup = function () {
mouseUp()
};
})
}
})(jQuery)
html文件
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>鼠標(biāo)進(jìn)行伸縮div</title>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
.dragdom {
background: #cccccc;
width: 100px;
height: 600px;
margin: 0 auto;
position: relative;
}
.dragdom .drag {
border: 1px transparent solid;
width: 0px;
height: 100%;
position: absolute;
top: 0;
right: 0;
cursor: e-resize;
}
</style>
</head>
<body>
<div class="dragdom"><div class="drag"></div></div>
</body>
</html>
<script type="text/javascript" src="./jquery.min.js"></script>
<script type="text/javascript" src="./drag.js"></script>
<script>
$(function () {
$('.drag').dragDiv();
})
</script>
以上所述是小編給大家介紹的js實(shí)現(xiàn)鼠標(biāo)拖拽縮放div詳解整合,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
簡(jiǎn)單解析JavaScript中的__proto__屬性
這篇文章主要介紹了JavaScript中的__proto__屬性,對(duì)于JavaScript中所謂的對(duì)象來(lái)講,它指向?qū)ο蟮脑蚿rototype,需要的朋友可以參考下2016-05-05
JavaScript lastIndexOf方法入門(mén)實(shí)例(計(jì)算指定字符在字符串中最后一次出現(xiàn)的位置)
這篇文章主要介紹了JavaScript字符串對(duì)象的lastIndexOf方法入門(mén)實(shí)例,lastIndexOf方法用于計(jì)算指定字符在字符串中最后一次出現(xiàn)的位置,需要的朋友可以參考下2014-10-10
淺談JavaScript中setInterval和setTimeout的使用問(wèn)題
這篇文章主要介紹了淺談JavaScript中setInterval和setTimeout的使用問(wèn)題,作者建議在任務(wù)龐大時(shí)盡量避免使用setInterval,需要的朋友可以參考下2015-08-08
js nextSibling屬性和previousSibling屬性概述及使用注意
nextSibling屬性:該屬性表示當(dāng)前節(jié)點(diǎn)的下一個(gè)節(jié)點(diǎn);如果其后沒(méi)有與其同級(jí)的節(jié)點(diǎn),則返回null;previousSibling屬性:該屬性與nextSibling屬性的作用正好相反,接下來(lái)將詳細(xì)介紹下,感興趣的你不妨了解下哦,或許對(duì)你有所幫助2013-02-02
jquery下組織javascript代碼(js函數(shù)化)
這里整理的是jquery下js的一些代碼組織方法,大家可以借鑒下整理出基于jquery的自己喜歡的模式。2010-08-08
你必須知道的JavaScript 中字符串連接的性能的一些問(wèn)題
每種程序語(yǔ)言中都會(huì)涉及到字符竄連接,而這個(gè)小小的字符竄連接問(wèn)題很可能會(huì)影響到系統(tǒng)的整體性能,本文主要探討JavaScript中字符串連接的性能問(wèn)題2013-05-05

