jQuery窗口拖動功能的實現(xiàn)代碼

具體代碼如下所示:
$("#showTitle").mousedown(function (e) {
vbool = true;
vHeight = e.pageY;
vWidth = e.pageX;
cHeight = vHeight - $("#show").offset().top;
cWdith = vWidth - $("#show").offset().left;
//alert("divshow" + $("#show").offset().top + " divvHeight" + vHeight);
//alert("高" + cHeight + " 寬" + cWdith);
})
$(document).mouseup(function () {
vbool = false;
})
var showWidth = $("#show").width();
var showHeight = $("#show").height();
var documentWidth = $(document).width();
var documentHeight = $(document).height();
$(document).mousemove(function (e) {
if (vbool) {
var divheight = e.pageY - cHeight;//窗口要移動到的位置
var divwidth = e.pageX - cWdith;//窗口要移動到的位置
$("#la1").text(divheight + "w" + divwidth + "win" + showWidth + " x " + documentWidth + "" + showWidth);
if (divwidth < 0) {
divwidth = 0;
}
if (divheight < 50) {
divheight = 50;
}
if (divwidth > documentWidth - showWidth) {
divwidth = documentWidth - showWidth - 5;
}
if (divheight > documentHeight - showHeight) {
divheight = documentHeight - showHeight - 5;
}
$("#show").css({ "left": divwidth, "top": divheight });
}
})
下面看下jQuery 鼠標拖拽移動窗口的實現(xiàn)代碼
拖拽移動需要注意的是:拖拽移動的窗口是如何定位的,如果"left"屬性為"%" ,以"margin-left"來計算定位,如下實例,如果"left"屬性為數(shù)字,直接使用"left"即可。
// 彈窗模塊拖拽拖動
$(function(){
var _move=false;//移動標記
var _x,_y;//鼠標離控件左上角的相對位置
var _dragZone = $(".M_boxCenter .M_boxBody > h3");
var _dragBody = _dragZone.parent();
_dragZone.mousedown(function(e){
$(this).attr("onselectstart", "return false"); //禁雙擊選中
$("body").css({"-webkit-user-select":"none", "-moz-user-select":"none", "-ms-user-select":"none", "-khtml-user-select":"none", "user-select":"none"}); //禁止選中文字
_move=true;
_x=e.pageX-parseInt(_dragBody.css("margin-left"));
_y=e.pageY-parseInt(_dragBody.css("margin-top"));
_dragBody.fadeTo(150, 0.5);
});
$(document).mousemove(function(e){
if(_move){
var x=e.pageX-_x;//移動時根據(jù)鼠標位置計算控件左上角的絕對位置
var y=e.pageY-_y;
if(e.pageX <= 0 || e.pageY <= 0){
_move=false;
}else {
_dragBody.css({marginLeft:x, marginTop:y});//控件新位置
}
}
}).mouseup(function(){
_move=false;
_dragBody.fadeTo("fast", 1);
$("body").removeAttr("style"); //移除不能選文字
});
});
以上所述是小編給大家介紹的jQuery窗口拖動功能的實現(xiàn)代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關文章
ASP.NET jQuery 實例5 (顯示CheckBoxList成員選中的內(nèi)容)
這章我們主要看下如何通過jQuery來獲取CheckBoxList成員內(nèi)容2012-01-01
淺析ajax請求json數(shù)據(jù)并用js解析(示例分析)
這應該是每個web開發(fā)的人員都應該掌握的基礎技術,需要的朋友可以參考下2013-07-07
基于jQuery的公告無限循環(huán)滾動實現(xiàn)代碼
今天看到一個網(wǎng)站的公告欄一個小效果,如果有2條公告或以上就有個滾動效果,特整理下分享給大家2012-05-05
jquery 結合C#后臺的數(shù)組對文章的關鍵字自動添加鏈接的代碼
jquery 結合C#后臺的數(shù)組對文章的關鍵字自動添加鏈接的代碼,需要的朋友可以參考下。2011-07-07
用jQuery獲取table中行id和td值的實現(xiàn)代碼
下面小編就為大家?guī)硪黄胘Query獲取table中行id和td值的實現(xiàn)代碼。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-05-05

