01_jQuery外掛程式

來源:互聯網
上載者:User

標籤:event   sed   var   xtend   script   改變   ext   jquery   win   

功能:對角展開,自由拖拽

這個功能其實已經在jquery中封裝好了

 

 

 

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
* {
margin: 0;
padding: 0;
}

.d1 {
height: 300px;
width: 600px;
background: #DDDDDD;
position: relative;
}
</style>
<script src="http://cdn.static.runoob.com/libs/jquery/1.10.2/jquery.min.js"></script>
</head>

<body>
<div class="d1">456456456
<div class="d2">

</div>
</div>
<script>
$.fn.extend({
////封裝好的jQuery外掛程式,可以隨便移動視窗
drag: function() {
var disX = 0;
var disY = 0;
var This = this;
this.mousedown(function(ev) {
disX = ev.pageX - $(this).offset().left;
disY = ev.pageY - $(this).offset().top;
$(document).mousemove(function(ev) {
ev.preventDefault();
This.css(‘left‘, ev.pageX - disX);
This.css(‘top‘, ev.pageY - disY);
});
$(document).mouseup(function() {
$(this).off();
});
return false;
});
return this.mousedown();
},
//封裝好的jQuery外掛程式,在右下角改變元素的大小並且可以隨便移動視窗
elementResizeAndDrag: function() {
var me = this;
this.mousemove(function(e) {
var X = $(this).width();
var Y = $(this).height();
var disX = $(this).offset().left;
var disY = $(this).offset().top;
var e = e || window.event;
if(
(e.pageX >= X + disX - 20) &&
(e.pageY >= Y + disY - 20) &&
(e.pageX <= X + disX + 20) &&
(e.pageY <= Y + disY + 20)
) {
$(this).css("cursor", "se-resize");
} else {
$(this).css("cursor", "default");
}
});
this.mousedown(function(e) {
var X = $(this).width();
var Y = $(this).height();
var disX = $(this).offset().left;
var disY = $(this).offset().top;
var e = e || window.event;
if(
(e.pageX >= X + disX - 20) &&
(e.pageY >= Y + disY - 20) &&
(e.pageX <= X + disX + 20) &&
(e.pageY <= Y + disY + 20)
) {
$(document).mousemove(function(e) {
var e = e || window.event;
e.preventDefault();
me.css(‘width‘, e.clientX - disX + ‘px‘);
me.css(‘height‘, e.clientY - disY + ‘px‘);
});
$(document).mouseup(function() {
$(this).off();
});
return false;
} else {
var disX = 0;
var disY = 0;
disX = e.pageX - $(this).offset().left;
disY = e.pageY - $(this).offset().top;
$(document).mousemove(function(e) {
var e = e || window.event;
e.preventDefault();
me.css(‘left‘, e.pageX - disX);
me.css(‘top‘, e.pageY - disY);
});
$(document).mouseup(function() {
$(this).off();
});
return false;
}

});
return this.mousedown();
},
//封裝好的jQuery外掛程式,在右下角改變元素的大小
elementResize: function() {
var me = this;
this.mousemove(function(e) {
var X = $(this).width();
var Y = $(this).height();
var disX = $(this).offset().left;
var disY = $(this).offset().top;
var e = e || window.event;
if(
(e.pageX >= X + disX - 20) &&
(e.pageY >= Y + disY - 20) &&
(e.pageX <= X + disX + 20) &&
(e.pageY <= Y + disY + 20)
) {
$(this).css("cursor", "se-resize");
} else {
$(this).css("cursor", "default");
}
});
this.mousedown(function(e) {
var X = $(this).width();
var Y = $(this).height();
var disX = $(this).offset().left;
var disY = $(this).offset().top;
var e = e || window.event;
if(
(e.pageX >= X + disX - 20) &&
(e.pageY >= Y + disY - 20) &&
(e.pageX <= X + disX + 20) &&
(e.pageY <= Y + disY + 20)
) {
$(document).mousemove(function(e) {
var e = e || window.event;
e.preventDefault();
me.css(‘width‘, e.clientX - disX + ‘px‘);
me.css(‘height‘, e.clientY - disY + ‘px‘);
});
$(document).mouseup(function() {
$(this).off();
});
return false;
}
});
return this.mousedown();
}
});
$(‘.d1‘).elementResizeAndDrag(function(){
console.log(12);
});
$(window).resize(function(){
console.log(123);
});
</script>

</body>

</html>

01_jQuery外掛程式

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.