欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Jquery实现自定义窗口随意的拖拽

程序员文章站 2022-06-19 23:47:36
在网页上我们经常看到,当点击一个按钮时,弹出一个自定义窗口,并且可以随意的拖拽,从而改变其位置 使用jquery实现拖拽,则必须要jquery的文件了,实现步骤: 1、...

在网页上我们经常看到,当点击一个按钮时,弹出一个自定义窗口,并且可以随意的拖拽,从而改变其位置

使用jquery实现拖拽,则必须要jquery的文件了,实现步骤:

1、引入jquery文件

2、编写js脚本

具体代码:

html代码:

. 代码如下:


<button id="show">显示</button>
<p class="win">
<p class="wtop"><p style="float:right;margin:5px 5px 0px 0px;color:white" id="hidden">x</p></p>
<p class="content"></p>
</p>


css样式:

. 代码如下:


<style type="text/css">
.win{width:500px;height:600px;background:#000000;border-radius:8px;box-shadow:0px 0px 5px 10px;opacity:0.8;position:absolute;left:0;top:0;display:none}
.win .wtop{height:30px;width:100%;cursor:move}
.win .content{height:570px;width:100%;border-radius:5px;background:white}
</style>


js脚本:

. 代码如下:


<script language="javascript" type="text/javascript">
$(function(){
//拖拽
draganddrop();
//初始化位置
initposition();
//点击按钮
clickshowbtn();
});
//拖拽
function draganddrop(){
var _move=false;//移动标记
var _x,_y;//鼠标离控件左上角的相对位置
$(".wtop").mousedown(function(e){
_move=true;
_x=e.pagex-parseint($(".win").css("left"));
_y=e.pagey-parseint($(".win").css("top"));
//$(".wtop").fadeto(20,0.5);//点击开始拖动并透明显示
});
$(document).mousemove(function(e){
if(_move){
var x=e.pagex-_x;//移动时鼠标位置计算控件左上角的绝对位置
var y=e.pagey-_y;
$(".win").css({top:y,left:x});//控件新位置
}
}).mouseup(function(){
_move=false;
//$(".wtop").fadeto("fast",1);//松开鼠标后停止移动并恢复成不透明
});
}
//初始化拖拽p的位置
function initposition(){
//计算初始化位置
var itop=($(document).height()-$(".win").height())/2;
var ileft=($(document).width()-$(".win").width())/1.8;
//设置被拖拽p的位置
$(".win").css({top:itop,left:ileft});
}
//点击显示按钮
function clickshowbtn(){
$("#show").click(function(){
$(".win").show(1000);
});

$("#hidden").click(function(){
$(".win").hide(1000);
});
}
</script>


引入的js文件

. 代码如下:


<script type="text/javascript" src="js/jquery-1.10.2.min.js"></script>