JS设置拖动功能

本文介绍如何使用Bootstrap框架和通用元素实现拖动功能,提供两种不同的拖动效果设置方法,适用于不同场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

设置拖动功能可以提高用户的操作体验,如果使用 bootstrap 框架可以参考以下代码:


	// modal  拖动
	$(document).on('mousedown', '.modal-dialog', function(e){
		var x = e.pageX;
		var y = e.pageY;
		var $modal = $(this);
		var top = parseInt($modal.css('top'));
		var left = parseInt($modal.css('left'));

		$(document).on('mousemove', function(e){
			var xx = e.pageX;
			var yy = e.pageY;	

			$modal.css({
				top: top+yy-y+'px',
				left: left+xx-x+'px'
			})
		})
	})
	$(document).on('mouseup', function(){
		$(document).off('mousemove')
	})

如果是一般的元素,需要在特定的区域可以拖动,拖动父级元素的区域,可以参考以下代码:


	// 拖动功能设置  
	// setMove('.btn', '.box', {top: 'margin-top', left: 'margin-right'})
	function setMove(moveBtn, moveBox, css){
		$(document).on('mousedown', moveBtn, function(e){
			var x = e.pageX;
			var y = e.pageY;
			var $box = $(this).parents(moveBox);
			var top = parseFloat($box.css(css.top));
			var left = parseFloat($box.css(css.left));

			$(document).on('mousemove', function(e){
				var xx = e.pageX;
				var yy = e.pageY;	

				var cssVal = {};
				cssVal[css.top] = top+yy-y+'px';
				cssVal[css.left] = left+xx-x+'px';
				$box.css(cssVal);
			})
		})
		$(document).on('mouseup', function(){
			$(document).on('mousemove', null);
			$(document).off('mousemove');
		})
	}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

codehuicn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值