网页中对像的拖动代码

使用JavaScript实现在网页上拖动`<div>`元素的效果是一个常见的需求。在本文中,我将详细介绍如何实现这一功能,并提供相应的源代码示例。 注意,我们还为该元素定义了一些样式,包括宽度、高度、背景颜色、位置和鼠标指针样式。在该函数中,我们计算了鼠标光标的偏移量,并添加了。函数中,我们根据鼠标的当前位置和偏移量计算了拖动元素的新位置,并将其应用于。现在,当您在浏览器中加载HTML页面时,您将能够通过鼠标点击并拖动。元素,我们将通过拖动来移动它。首先,让我们创建一个简单的HTML页面,其中包含一个。事件的侦听器,当鼠标按下时,将触发拖动开始函数。的文件中,并将其链接到HTML页面中。在上面的代码中,我们创建了一个具有。元素来实现拖动效果。 阅读详情

代码如下:
<!-- xWin by WildWind<http://wildcity.126.com> -->
<html>
<head>
<title>_xWin</title>
<style type='text/css'>
<!--
a:visited{text-decoration:none;color:slategray;}
a:hover{text-decoration:underline;color:slategray;}
a:link{text-decoration:none;color:slategray;}
-->
</style>
<script language=JScript>
<!--
//可以打包为js文件;
var x0=0,y0=0,x1=0,y1=0;
var offx=6,offy=6;
var moveable=false;
var hover='orange',normal='slategray';//color;
var index=10000;//z-index;
//开始拖动;
function startDrag(obj)
{
if(event.button==1)
{
//锁定标题栏;
obj.setCapture();
//定义对象;
var win = obj.parentNode;
var sha = win.nextSibling;
//记录鼠标和层位置;
x0 = event.clientX;
y0 = event.clientY;
x1 = parseInt(win.style.left);
y1 = parseInt(win.style.top);
//记录颜色;
normal = obj.style.backgroundColor;
//改变风格;
obj.style.backgroundColor = hover;
win.style.borderColor = hover;
obj.nextSibling.style.color = hover;
sha.style.left = x1 + offx;
sha.style.top = y1 + offy;
moveable = true;
}
}
//拖动;
function drag(obj)
{
if(moveable)
{
var win = obj.parentNode;
var sha = win.nextSibling;
win.style.left = x1 + event.clientX - x0;
win.style.top = y1 + event.clientY - y0;
sha.style.left = parseInt(win.style.left) + offx;
sha.style.top = parseInt(win.style.top) + offy;
}
}
//停止拖动;
function stopDrag(obj)
{
if(moveable)
{
var win = obj.parentNode;
var sha = win.nextSibling;
var msg = obj.nextSibling;
win.style.borderColor = normal;
obj.style.backgroundColor = normal;
msg.style.color = normal;
sha.style.left = obj.parentNode.style.left;
sha.style.top = obj.parentNode.style.top;
obj.releaseCapture();
moveable = false;
}
}
//获得焦点;
function getFocus(obj)
{
if(obj.style.zIndex!=index)
{
index = index + 2;
var idx = index;
obj.style.zIndex=idx;
obj.nextSibling.style.zIndex=idx-1;
}
}
//最小化;
function min(obj)
{
var win = obj.parentNode.parentNode;
var sha = win.nextSibling;
var tit = obj.parentNode;
var msg = tit.nextSibling;
var flg = msg.style.display=="none";
if(flg)
{
win.style.height = parseInt(msg.style.height) + parseInt(tit.style.height) + 2*2;
sha.style.height = win.style.height;
msg.style.display = "block";
obj.innerHTML = "0";
}
else
{
win.style.height = parseInt(tit.style.height) + 2*2;
sha.style.height = win.style.height;
obj.innerHTML = "2";
msg.style.display = "none";
}
}
//关闭;
function cls(obj)
{
var win = obj.parentNode.parentNode;
var sha = win.nextSibling;
win.style.visibility = "hidden";
sha.style.visibility = "hidden";
}
//创建一个对象;
function xWin(id,w,h,l,t,tit,msg)
{
index = index+2;
this.id = id;
this.width = w;
this.height = h;
this.left = l;
this.top = t;
this.zIndex = index;
this.title = tit;
this.message = msg;
this.obj = null;
this.bulid = bulid;
this.bulid();
}
//初始化;
function bulid()
{
var str = ""
+ "<div id=xMsg" + this.id + " "
+ "style='"
+ "z-index:" + this.zIndex + ";"
+ "width:" + this.width + ";"
+ "height:" + this.height + ";"
+ "left:" + this.left + ";"
+ "top:" + this.top + ";"
+ "background-color:" + normal + ";"
+ "color:" + normal + ";"
+ "font-size:10px;"
+ "font-family:Verdana;"
+ "position:absolute;"
+ "cursor:default;"
+ "border:2px solid " + normal + ";"
+ "' "
+ "onmousedown='getFocus(this)'>"
+ "<div "
+ "style='"
+ "background-color:" + normal + ";"
+ "width:" + (this.width-2*2) + ";"
+ "height:20;"
+ "color:white;"
+ "' "
+ "onmousedown='startDrag(this)' "
+ "onmouseup='stopDrag(this)' "
+ "onmousemove='drag(this)' "
+ "ondblclick='min(this.childNodes[1])'"
+ ">"
+ "<span style='width:" + (this.width-2*12-4) + ";padding-left:3px;'>" + this.title + "</span>"
+ "<span style='width:12;border-width:0px;color:white;font-family:webdings;' onclick='min(this)'>0</span>"
+ "<span style='width:12;border-width:0px;color:white;font-family:webdings;' onclick='cls(this)'>r</span>"
+ "</div>"
+ "<div style='"
+ "width:100%;"
+ "height:" + (this.height-20-4) + ";"
+ "background-color:white;"
+ "line-height:14px;"
+ "word-break:break-all;"
+ "padding:3px;"
+ "'>" + this.message + "</div>"
+ "</div>"
+ "<div style='"
+ "width:" + this.width + ";"
+ "height:" + this.height + ";"
+ "top:" + this.top + ";"
+ "left:" + this.left + ";"
+ "z-index:" + (this.zIndex-1) + ";"
+ "position:absolute;"
+ "background-color:black;"
+ "filter:alpha(opacity=40);"
+ "'>by wildwind</div>";
document.body.insertAdjacentHTML("beforeEnd",str);
}
//-->
</script>

<script language='JScript'>
<!--
function initialize()
{
var a = new xWin("1",160,200,200,200,"Message","xWin <br> A Cool Pop Div Window<br>Version:1.0<br>2002-8-13");
var b = new xWin("2",240,200,100,100,"Wildwind's Msgbox","Welcome to visited my personal website:<br><a href=http://www14.brinkster.com/wildcity target=_blank>http://wildcity.126.com</a><br>and u can also sign my guestbook at:<br><a href=http://www14.brinkster.com/wildcity /gbook target=_blank>http://wildcity.126.com/gbook</a><br><br>thx!!! =)...");
var c = new xWin("3",200,160,250,50,"Copyright","Copyright by <a href='mailto:wildwind_zz@21cn.com'>Wildwind</a>!");
}
window.onload = initialize;
//-->
</script>
</head>
<body onselectstart='return false' oncontextmenu='return false' scroll='no'>
</body>
</html>

使用jQuery实现网页中图片拖动功能的代码实践 本文还有配套的精品资源,点击获取 简介:本项目展示了如何通过jQuery库实现一个用户界面交互功能,即在网页特定区域内拖动图片。这个功能可用于增强Web应用的交互性,比如图像编辑器和布局设计工具。用户通过鼠标操作可以随意移动图片,改善用户体验。此外,本实践还涉及了前端开发的关键概念和技术要点,包括jQuery选择器、事件处理、DOM操作、边界检测等。开发者可以通过分析源代码... 阅读详情

相关推荐

保姆级避坑指南:Mid-360雷达到手后,用livox_ros_driver2从接线到出点云的完整流程

本文提供Mid-360雷达到手后的完整使用指南,涵盖从硬件接线、网络配置到livox_ros_driver2驱动的安装与调试,帮助用户避开常见陷阱,实现点云数据的稳定输出与可视化。重点解析了配置文件的参数设置和点云格式选择,确保用户能够高效部署和使用Mid-360雷达。

weixin_30733003的博客 488

前端----HTML 拖动条的实现

拖动条的实现是HTML5 对input标签 type值的新增项(新增项还有很多,比如颜色选择器,日期选择器等) 直接说怎么用: &lt;input type="range" min="0" max="100" step="5"/&gt; 效果如下:  拖动条当然是可以拖动的, 拖动的过程中会改变该input的 value值 而 min  max  step则设置了 最小值 最大值...

nO0b 1万+

contextcapture多区块点云_多源点云数据融合的建筑物精细化建模

本文内容来源于《测绘通报》2020年第8期,审图号:GS(2020)3611号多源点云数据融合的建筑物精细化建模王树臻1, 郑国强1, 王光生1, 胡玉民2, 张德怀2, 亓伟3 ...

weixin_36301639的博客 1825

一款可以用来实现网页拖拽得HTML代码

&lt;style&gt; .dragTable { border-top: 1px solid #3366cc; margin-bottom: 10px; width: 100%; background-color: #FFFFFF; } td { vertical-align: top; } .dragTR { cursor: move; color: #7787cc; text-...

JavaEE架构与开发 762

运维与软件实施课表

运维与软件实施课表 课程 章节编号 章节 课程地址 软件及操作系统基础 ch01 软件及操作系统基础01 实施、运维工程师基本技能:https://blog.youkuaiyun.com/qq_28189423/article/details/82700539 老毛桃制作winPE镜像:https://blog.youkuaiyun.com/qq_2818942...

Mr.O~的博客 1万+

倍福--TwinSAFE功能块的使用

在安全模块的程序设计中,输入变量取反,或者把PLC的变量连接到安全的功能块程序中, 操作流程 1.1. 功能块输出取反 例如修改IN,右击属性,然后可在Single-Channel选项中选择是NO还是NC的输入信号。 1.2. PLC标准变量作为安全程序的输入 1.2.1. 建立两个PLC变量 1.2.2. 安全程序区创建变量 1.2.3. 功能块变量链接 首先,PLC变量不能直接连到Estop功能块的输入变量中,否则会报错,但PLC可以连接到SafeAnd这些功能块,然后再转出来,如下所示

weixin_41883890的博客 5315

html滚动条实现,超简单

在对应的div中,添加overflow,固定高度为400px&lt;div class="panel-body" style="height: 400px; overflow:scroll"&gt; &lt;div style="border: 1px #000000; width: 90%; margin: 0 auto;"&gt; &l...

qq_33653393的博客 9万+

背靠背VSC直流母线电压控制与同步发电机并网发散问题:原理、分析与解决方案

背靠背VSC直流母线电压控制与同步发电机并网发散问题分析 摘要: 本文研究了背靠背VSC系统在整流侧由理想三相电源切换为同步发电机时出现的直流母线电压振荡和发散问题。通过理论分析发现,锁相环同步失稳、等效阻抗失配和直流母线电容参数失配是导致系统失稳的关键因素。当整流侧接入同步发电机后,系统形成正反馈振荡回路,同时等效电感增大导致电流环响应速度降低,直流侧电容容量不足无法吸收发电机功率波动。文章提出了从跟网型控制到构网型VSG控制的完整升级方案,包含详细的MATLAB/Simulink建模和控制算法实现,并通

huanghm88的专栏 122

页面拖拽效果

<head> <meta charset="utf-8"> <title>百度一下,你就知道</title> </head><style> .back_img { position: absolute; width: 100%; height: 100%; /*border: 1px solid black;*/

代码小菜鸟 874

详解Agent Skills:让AI拥有更多专业能力(什么是Agent Skills?如何创建?如何使用?如何获取?)

本文分享如何将零散指令沉淀为可复用的 AI 能力模块🧩,介绍什么是Agent Skills?如何创建?如何获取?📚

XiaoqiangClub的博客 1271

在ubuntu20.04中安装MATLAB时常见问题及解决方法

   如果你刚装完ubuntu20.04,这时你想要安装MATLAB2021A,在输入命令./install进行安装时,可能会报以下错误:    terminate called after throwing an instance of ‘JailContainerException’ what(): Error: 88: No JRE version parsed from/media/jzx/MATHWORKS_R2021A/sys /java/jre/glnxa64/jre/release   

慕羽★的博客 1万+

可以折叠和拖动的网页示例代码(JavaScript Code)

      这个不太好说明白,反正这种网页的显示效果比较酷,其中的某些表格可以折叠起来,也可以进行拖动。显示效果如下:这个是网页打开后的情况。这个是将表格折叠以后的情况。这个是将其中的表格拖动到其它地方的情况。      至于代码,实在太长了,就不直接放上来了。我已经将其打包压缩了,包括JS文件,HMTL代码文件和CSS文件。您可以点击 这里 进行下载。下载以后可以研究其代码,或者

::: 移动互联网时代开发者 ::: 2819

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

可拖动DIV网页最简短的拖动对象代码实例演示

代码实例:拖动对象 Drag Object (兼容:IE、Firefox、Opera ... ) .dragAble {position:relative;cursor:move;} // Author:  Unkonw // Modify:  枫岩@CnLei.com var ie=document.all; var nn6=document.getElementById&

chenshizero的专栏 1001

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

完整的网页浮动层拖动实例代码

一个供学习不错的网页拖动层,具有丰富的层拖动设置功能,比如可设置拖动的范围、垂直、水平方向拖动,是否透明显示层等,运用JS和CSS等实现的HTML层拖动网页,代码完整

405

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

作业要求js代码实现一个网页中登录窗口的显示/隐藏,页面中拖动移动,并且添加了边界判断的网页效果

【代码】作业要求js代码实现一个网页中登录窗口的显示/隐藏,页面中拖动移动,并且添加了边界判断的网页效果。

2301_79624191的博客 216

拖动网页时保持背景不动的CSS样式代码

拖动网页时保持背景不动的CSS样式代码 <style>   body{background-image:url(logo.gif);  background-repeat:no-repeat;background-position:center}   </s...

weixin_30439131的博客 255

网页上拖动图片的效果与代码

与上篇JS漂浮广告一文中引用的对象一样,只是JS代码不同 self.onError=null;     currentX = currentY = 0;      whichIt = null;      lastScrollX = 0; lastScrollY = 0;     NS = (document.layers) ? 1 : 0;     IE = (document.al

追风客的专栏 1204

网页特效代码:可以自由拖动菜单

<html><head><title>Windows Longhorn Glass Look</title><style>body { background: #667788;font-family: tahoma;font-size: 16px;padding: 0;margin: 0;overflow: hidd...

193
上一篇: 取得随机字符串的类
下一篇: 手动排序的数据库保存
wiregate
博客等级 码龄22年 7粉丝 80原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值