HTML制作可拖动座位表,简单易懂的jquery制作可拖动图层特效代码

脚本代码(For Alixixi.com)如下:

利用jquery实现简单拖曵原理实例 by js.alixixi.com

#drag{width:400px;height:300px;cursor:move;position:absolute;top:100px;left:100px;border:solid 1px #ccc;}

h2{color:#fff;background: none repeat scroll 0 0 rgba(16, 90, 31, 0.7);color:#FFFFFF;height:40px;line-height:40px;margin:0;}

$(function(){

/*--------------拖曳效果----------------

*原理:标记拖曳状态dragging ,坐标位置iX, iY

* mousedown:fn(){dragging = true, 记录起始坐标位置,设置鼠标捕获}

* mouseover:fn(){判断如果dragging = true, 则当前坐标位置 - 记录起始坐标位置,绝对定位的元素获得差值}

* mouseup:fn(){dragging = false, 释放鼠标捕获,防止冒泡}

*/

var dragging = false;

var iX, iY;

$("#drag").mousedown(function(e) {

dragging = true;

iX = e.clientX - this.offsetLeft;

iY = e.clientY - this.offsetTop;

this.setCapture && this.setCapture();

return false;

});

document.onmousemove = function(e) {

if (dragging) {

var e = e || window.event;

var oX = e.clientX - iX;

var oY = e.clientY - iY;

$("#drag").css({"left":oX + "px", "top":oY + "px"});

return false;

}

};

$(document).mouseup(function(e) {

dragging = false;

$("#drag")[0].releaseCapture();

e.cancelBubble = true;

})

})

来拖动我啊

试试用鼠标拖动图层看看效果 演示 http://js.alixixi.com 网页特效网

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
制作一个悬浮在浏览器上的可拖动挂件,需要用到CSS的position属性、z-index属性和JavaScript的drag事件。以下是一个简单的例子: HTML代码: ``` <div class="widget" draggable="true"> <p>这是一个可拖动挂件</p> </div> ``` CSS代码: ``` .widget { position: fixed; top: 50px; right: 50px; z-index: 9999; background-color: #fff; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3); padding: 10px; border-radius: 5px; } ``` JavaScript代码: ``` const widget = document.querySelector('.widget'); let isDragging = false; let lastX = 0; let lastY = 0; widget.addEventListener('mousedown', (e) => { lastX = e.clientX; lastY = e.clientY; isDragging = true; }); widget.addEventListener('mouseup', () => { isDragging = false; }); widget.addEventListener('mousemove', (e) => { if (isDragging) { const deltaX = e.clientX - lastX; const deltaY = e.clientY - lastY; const newX = parseInt(widget.style.right) - deltaX; const newY = parseInt(widget.style.top) + deltaY; widget.style.right = newX + 'px'; widget.style.top = newY + 'px'; lastX = e.clientX; lastY = e.clientY; } }); ``` 解释一下代码: - `draggable="true"` 属性使挂件可拖动。 - `mousedown` 事件监听鼠标按下事件,记录当前鼠标位置并将 `isDragging` 标志设为 true。 - `mouseup` 事件监听鼠标松开事件,将 `isDragging` 标志设为 false。 - `mousemove` 事件监听鼠标移动事件,当 `isDragging` 为 true 时,计算鼠标移动的距离,更新挂件的位置,并更新记录的鼠标位置。 这样就可以实现一个悬浮在浏览器上的可拖动挂件了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值