首页 > 其他分享 >JQ 拖拽

JQ 拖拽

时间:2023-06-26 19:34:29浏览次数:35  
标签:function JQ var positionDiv div document true 拖拽


<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>拖拽</title>
<style>
*{
	padding: 0;
	margin: 0;
}
div{
	width: 100px;
	height: 100px;
	background: #f00;
	cursor: pointer;
	position: absolute;
	left: 0;
	top: 0;
}
</style>
</head>
<body>
<div></div>
<script src="jquery.js"></script>
<script>
$(function(){
	//移动窗口的步骤
	//1、按下鼠标左键
	//2、移动鼠标
	$('div').mousedown(function(e){
		// e.pageX
		var positionDiv = $(this).offset();
		var distenceX = e.pageX - positionDiv.left;
		var distenceY = e.pageY - positionDiv.top;
		//alert(distenceX)
		// alert(positionDiv.left);
		$(document).mousemove(function(e){
			var x = e.pageX - distenceX;
			var y = e.pageY - distenceY;
			if(x<0){
				x=0;
			}else if(x>$(document).width()-$('div').outerWidth(true)){
				x = $(document).width()-$('div').outerWidth(true);
			}
			if(y<0){
				y=0;
			}else if(y>$(document).height()-$('div').outerHeight(true)){
				y = $(document).height()-$('div').outerHeight(true);
			}

			$('div').css({
				'left':x+'px',
				'top':y+'px'
			});
		});
		$(document).mouseup(function(){
			$(document).off('mousemove');
		});
	});
});
</script>
</body>
</html>

 

效果图:

JQ 拖拽_移动窗口


 

 

 

标签:function,JQ,var,positionDiv,div,document,true,拖拽
From: https://blog.51cto.com/u_16171388/6557091

相关文章

  • JQ 放大镜
    zoom.css*{ padding:0; margin:0;}li{ list-style-type:none;}.zoom{ margin:50px; position:relative;}.zoomMiddle{ border:1pxsolid#ccc; width:300px; height:300px; margin-bottom:3px; position:relative;}.zoomMiddleimg{ width:300p......
  • JQ 表格内容过滤
    <html><head><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/><title></title><linkrel="stylesheet"type="text/css"href="css/style.css"/><sc......
  • JQ 可见性过滤选择器
    <html><head><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/><title></title><!--引入jQuery--><scriptsrc="js/jquery-1.10.1.min.js"type="text/javascript&q......
  • JQ 隔行变色
    <html><head><title></title><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/><scripttype="text/javascript">window.onload=function(){//页面所有元素加载完毕 varitem=do......
  • 【HarmonyOS】低代码项目中设置拖拽组件背景色透明度问题
    【关键字】HarmonyOS、低代码开发、拖拽组件、背景色透明度【问题描述】使用拖拽式组件开发HarmonyOS项目时,想给组件设置背景色透明度,有如下几个问题:1)使用DevEcoStudio自带的颜色选择器,无法设置透明度,只能手动输入2)在子模块library中给组件手动输入#ff000000格式背景色,在主模块ent......
  • jQuery源码浅谈系列---$.attr()
    attr()   1、attr(name)     取得第一个匹配元素的属性值。如果元素没有相应的属性,则返回undefined。  2、attr(properties)     将一个"名/值"形式的对象设置为所有匹配元素的属性。    注:要设置class属性,必须用'className'作为属性名。     举例:......
  • jquery.pngFix
    jquery.pngFix.js应该还出现在部分系统和一些网站上,简单介绍一下吧。 ----------------解决IE6下不支持png图片透明效果 整理了一下网上的一些插件的缺点: 有png作为背景且背景宽高和标签宽高不一致的时候会发生拉伸。配套版本的支持情况1.3.2-------1.5起不兼容。   扩展......
  • JQuery中的each()方法和$.each()函数的使用
    1、元素(对象).each()方法的使用JQuery提供了each()方法用于遍历匹配的元素信息。以每一个匹配的元素作为上下文来执行一个函数。每次执行传递进来的函数时,函数中的this关键字都指向一个不同的DOM元素(每次都是一个不同的匹配元素)。而且,在每次执行函数时,都会给函数传递一个表......
  • 【雕爷学编程】Arduino动手做(119)---JQ6500语音模块
    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞......
  • vue鼠标拖拽自定义指令实现过程和原理分析
    在Vue中,可以使用自定义指令来实现鼠标拖拽的功能。自定义指令允许我们在DOM元素上绑定特定的行为和逻辑。以下是一个实现鼠标拖拽的自定义指令的例子,同时也包含了相应的原理分析:<template><divv-draggable>DragMe!</div></template><script>exportdefault{directives......